@charset "UTF-8";
body {
  font-family: Hiragino Kaku Gothic ProN、ヒラギノ角ゴ ProN、Hiragino Kaku
      Gothic Pro、ヒラギノ角ゴ Pro,
    游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック,
    "Yu Gothic", メイリオ, sans-serif;
  line-height: 1.5;
  text-rendering: optimizelegibility;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  background: rgb(255, 255, 255);
  color: #000;
  word-break: break-all;
}

img {
  /* width: 100%; */
  height: auto;
  line-height: 1;
  max-width: 100%;
  -ms-interpolation-mode: bicubic;
}

@font-face {
  font-family: Noto_Sans_JP;
  src: url(../font/NotoSansJP-Medium.woff) format("woff");
}

.noto {
  font-family: Noto_Sans_JP, -apple-system, BlinkMacSystemFont, Roboto,
    "Segoe UI", "Helvetica Neue", HelveticaNeue, "Noto Sans JP", YuGothic,
    "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: 400;
}

@font-face {
  font-family: Oswald;
  src: url(../font/Oswald-Medium.woff) format("woff");
  src: url(../font/Oswald-Regular.woff) format("woff");
}

.oswald {
  font-family: Oswald, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI",
    "Helvetica Neue", HelveticaNeue, "Noto Sans JP", YuGothic,
    "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: 400;
}

.main_wrap {
}

.main_inner {
  max-width: 1120px;
  min-width: 1120px;
  margin: auto;
}
.sp-block {
  display: none;
}

/*動画埋め込み2023.3.14*/
.movie-wrapper {max-width: 600px; padding: 10px; margin: 10px auto;}
.movie-wrap {position: relative; width: 100%; padding: calc(720 / 1280 * 100%) 0 0;}
.movie-wrap iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

/* ========================================================================================================
header
======================================================================================================== */

header {
  background-color: #fff;
  position: fixed;
  width: 100%;
  height: 70px;
  z-index: 11;
}
header .main_wrap {
  height: 100%;
}
header .main_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

header .nav {
  display: flex;
  align-items: center;
}

header .logo {
  width: 166px;
  /* padding: 13px 0px; */
}
header .logo a{
   transition: opacity .3s ease 0s;
}

header .logo a:hover{
  opacity:0.6
}
header .nav .chat {
  margin-left: 24px;
}

header .nav .chat a {
  display: flex;
  font-size: 16px;
  font-weight: 500;
  align-items: center;
  font-weight: 600;
  transition: opacity .3s ease 0s;
}
header .nav .chat a:hover{
  opacity:0.6
}
header .nav .chat a p {
  padding-top: 6px;
}

header .nav .chat a img {
  width: 24px;
  margin-right: 10px;
}

header .nav .chat01 a {
  color: #11076d;
}

header .nav .chat02 a {
  color: #a8001f;
}

header .nav .tell {
  margin-left: 34px;
}

header .nav .tell a {
  display: flex;
  transition: opacity .3s ease 0s;
}
header .nav .tell a:hover{
  opacity:0.6
}

header .nav .tell a img {
  width: 36px;
}

header .nav .tell a .flex {
  display: flex;
  align-items: center;
}

header .nav .tell a h4 {
  font-size: 30px;
  margin: 0 8px;
  line-height: 1;
  font-weight: 600;
}

header .nav .tell a p {
  font-size: 13px;
  line-height: 1.231;
  font-weight: 500;
}

/* ========================================================================================================
#fv_sec
======================================================================================================== */

#fv_sec {
  padding-top: 70px;
}

#fv_sec .main_wrap {
  position: relative;
  height: 543px;
}

#fv_sec .img {
  /* height: 543px; */
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
  max-width: 1366px;
  min-width: 1366px;
  margin: auto;
  left: 0;
  right: 0;
  line-height: 0;
  display: none;
}

#fv_sec .bg {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -2;
  background-image: url(../img/fv_sec_img_01.jpg);
  background-position: center;
  background-size: cover;
}

#fv_sec .text {
  padding-top: 90px;
  color: #fff;
  text-shadow: 0px 0px 10px rgba(44, 156, 214, 0.4);
}

#fv_sec .text h2 {
  font-size: 90px;
  line-height: 1;
  padding-bottom: 20px;
}

#fv_sec .text h2 span {
  font-size: 80px;
}

#fv_sec .text p {
  font-size: 29px;
  font-weight: bold;
}

/* ========================================================================================================
#local_nav_sec
======================================================================================================== */

#local_nav_sec {height: 54px;position: relative;}

#local_nav_sec .main_wrap {
  box-shadow: 0 7px 10px rgba(0, 0, 0, 0.07);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  margin: auto;
  z-index: 8;
  background-color: #fff;
  border-top: solid 1px #eeeeee;
}

#local_nav_sec ul {
  display: flex;
  flex-wrap: wrap;
}

#local_nav_sec ul li {
  width: 25%;
  position: relative;
}

#local_nav_sec ul li:before {
  content: "";
  width: 1px;
  height: 50%;
  background-color: #eeeeee;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

#local_nav_sec ul li:last-child:after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #eeeeee;
  position: absolute;
  right: 0;
  top: 0;
}

#local_nav_sec ul li a {
  display: block;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  transition: opacity .3s ease 0s;
  padding: 20px 0px;
}
#local_nav_sec ul li a:hover{
  opacity:0.6
}

#local_nav_sec ul li a:after {
  content: "";
  width: 10px;
  height: 6px;
  /* display: inline-block; */
  position: absolute;
  background-image: url(../img/btn_arrow-carrot_down_black.svg);
  background-position: center;
  background-size: cover;
  top: 0;
  bottom: 0;
  margin: auto;
  margin-left: 10px;
}
#local_nav_sec .main_wrap.fixed{
  position: fixed;
  top: 70px;
}
/* ========================================================================================================
#trouble_sec
======================================================================================================== */

#trouble_sec {
}

#trouble_sec .main_wrap {
  background-color: #f0f9fd;
  padding-bottom: 100px;
}

#trouble_sec .group01 .main_inner {
  height: 100%;
  position: relative;
  z-index: 1;
}

#trouble_sec .group01 {
  position: relative;
  height: 380px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.15);
}

#trouble_sec .group01 .text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}

#trouble_sec .group01 .text h3 {
  font-size: 40px;
  color: #fff;
  text-shadow: 0px 0px 20px #9f997f;
}

#trouble_sec .group01 .bg {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  background-image: url(../img/trouble_sec_img_01.jpg);
  background-position: center;
  background-size: cover;
}

#trouble_sec .group02 {
  background: linear-gradient(
    90deg,
    #5dacd0 0%,
    #5dacd0 50%,
    #7bc0e0 50%,
    #7bc0e0 100%
  );
}

#trouble_sec .group02 .main_inner {
  padding: 90px 0px 232px;
}

#trouble_sec .group02 .text {
  text-align: center;
  color: #fff;
  position: relative;
}

#trouble_sec .group02 .text h5 {
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}

#trouble_sec .group02 .text h3 {
  font-size: 40px;
  line-height: 1.45;
  font-weight: 500;
}

#trouble_sec .group02 .text:before,
#trouble_sec .group02 .text:after {
  content: "";
  width: 200px;
  height: 200px;
  background-color: #fff;
  position: absolute;
  border-radius: 100%;
  top: 0;
  border: solid 4px #fff;
  box-shadow: 0 0px 10px rgba(166, 208, 231, 0.28);
}

#trouble_sec .group02 .text:before {
  left: 74px;
  background-image: url(../img/trouble_sec_img_03.png);
  background-position: center;
  background-size: cover;
}

#trouble_sec .group02 .text:after {
  right: 74px;
  background-image: url(../img/trouble_sec_img_03.png);
  background-position: center;
  background-size: cover;
}
#trouble_sec .group02 .text:after {
  right: 74px;
  background-image: url(../img/trouble_sec_img_04.png);
  background-position: center;
  background-size: cover;
}

#trouble_sec .group03 {
}

#trouble_sec .group03 .main_inner {
  margin-top: -136px;
  margin-bottom: 85px;
}

#trouble_sec .group03 ul {
  display: flex;
  flex-wrap: wrap;
}

#trouble_sec .group03 ul li {
  width: 352px;
  margin-right: 32px;
  position: relative;
  height: 220px;
  margin-bottom: 70px;
}

#trouble_sec .group03 ul li:nth-child(n + 4) {
  height: 220px;
  margin-bottom: 0px;
}

#trouble_sec .group03 ul li:nth-child(3),
#trouble_sec .group03 ul li:nth-child(6) {
  margin-right: 0;
}

#trouble_sec .group03 ul li .num {
  color: #067ac7;
  text-align: center;
  position: absolute;
  right: 0;
  left: 0;
  top: -40px;
}

#trouble_sec .group03 ul li .num p {
  font-size: 29px;
  font-weight: 600;
  line-height: 1;
}

#trouble_sec .group03 ul li .num span {
  font-size: 14px;
}

#trouble_sec .group03 ul li .box {
  background-color: #fff;
  text-align: center;
  height: 100%;
  box-shadow: 0 9px 19px rgba(18, 55, 71, 0.01);
}

#trouble_sec .group03 ul li .box h4 {
  font-size: 29px;
  text-align: center;
  padding-top: 52px;
  position: relative;
  display: inline-block;
  z-index: 1;
  line-height: 1;
  margin-bottom: 35px;
}

#trouble_sec .group03 ul li .box h4:after {
  content: "";
  background-color: #f7ff29;
  width: 100%;
  height: 14px;
  position: absolute;
  left: 0;
  bottom: -6px;
  z-index: -1;
  opacity: 0.8;
}

#trouble_sec .group03 ul li .box .flex {
  padding: 0 30px;
  display: flex;
}

#trouble_sec .group03 ul li .box .flex .img {
  width: 80px;
  height: 80px;
}

#trouble_sec .group03 ul li .box .flex .text {
  font-size: 22px;
  /* padding-left: 10px; */
  text-align: left;
  font-weight: bold;
  line-height: 1.54;
}

#trouble_sec .group04 {
}

#trouble_sec .group04 .main_inner {
  background-color: #e2f3fb;
  position: relative;
}

#trouble_sec .group04 .main_inner .text {
  padding: 40px 64px;
  width: 728px;
}

#trouble_sec .group04 .main_inner .text h3 {
  font-size: 29px;
  line-height: 1.517;
  color: #0a3a8e;
  font-weight: bold;
  margin-bottom: 38px;
  position: relative;
}

#trouble_sec .group04 .main_inner .text h3 img {
  position: absolute;
  width: 24px;
}

#trouble_sec .group04 .main_inner .text h3 img.left {
  transform: rotate(180deg);
  left: -36px;
}

#trouble_sec .group04 .main_inner .text h3 img.right {
  right: -4px;
  bottom: -10px;
}

#trouble_sec .group04 .main_inner .text h5 {
  font-size: 22px;
  /* border-bottom: solid 2px #0a3a8e; */
  display: inline-block;
  color: #0a3a8e;
  /* padding-bottom: 15px; */
  line-height: 1.5454545454545454;
}
#trouble_sec .group04 .img {
  width: 248px;
  position: absolute;
  right: 44px;
  bottom: 0;
  line-height: 1;
}
/* ========================================================================================================
#land_utilization_sec
======================================================================================================== */

#land_utilization_sec {
}

#land_utilization_sec .main_wrap {
  background-color: #f0f9fd;
  padding-bottom: 100px;
}

#land_utilization_sec .group01 {
  position: relative;
  height: 550px;
  margin-bottom: 80px;
}

#land_utilization_sec .group01 .text {
  z-index: 2;
  padding-top: 202px;
  color: #fff;
  padding-left: 64px;
  position: relative;
}

#land_utilization_sec .group01 .text h5 {
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 42px;
  line-height: 1;
}

#land_utilization_sec .group01 .text h3 {
  font-size: 40px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1;
}

#land_utilization_sec .group01 .main_inner {
  z-index: 1;
}

#land_utilization_sec .group01 .bg_wrap {
  max-width: 1366px;
  position: absolute;
  height: 550px;
  top: 0;
  width: 100%;
  left: 0;
  right: 0;
  margin: auto;
}

#land_utilization_sec .group01 .img {
  height: 510px;
  width: 1243px;
  /* width: 100%; */
  position: absolute;
  top: 0;
  background-image: url(../img/land_utilization_sec_img_01.jpg);
  background-position: center;
  background-size: cover;
  z-index: 1;
  right: 0;
}

#land_utilization_sec .group01 .bg {
  height: 510px;
  width: 100%;
  position: absolute;
  bottom: 0;
  background-color: #5dacd0;
  z-index: 0;
  width: 1243px;
  right: 80px;
}

#land_utilization_sec .contents_inner {
  padding: 0 64px;
  position: relative;
  z-index: 1;
  padding-bottom: 40px;
}

#land_utilization_sec .group02 {
}

#land_utilization_sec .group02 .main_inner {
  margin-bottom: 80px;
}

#land_utilization_sec .group02 p {
  font-size: 18px;
}

#land_utilization_sec .group03 {
  position: relative;
}

#land_utilization_sec .group03 .main_inner {
  margin-bottom: 80px;
}

#land_utilization_sec .group03 .bg {
  background-color: #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  bottom: 0;
  height: calc(100% - 120px);
  left: 0;
  right: 0;
}

#land_utilization_sec .group03 p {
  line-height: 1.555;
  z-index: 1;
  position: relative;
  font-size: 18px;
}

#land_utilization_sec .group03 .flex {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 42px;
  z-index: 1;
  position: relative;
}

#land_utilization_sec .group03 .flex img {
  width: 416px;
  height: 327px;
}

#land_utilization_sec .group03 .flex .text {
  width: 512px;
  padding-left: 64px;
}

#land_utilization_sec .group03 .flex h3 {
  font-size: 29px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.241;
  margin-top: 30px;
  margin-bottom: 50px;
}

#land_utilization_sec .group04 .flex {
  /* margin-bottom: 0; */
  flex-direction: row-reverse;
}

#land_utilization_sec .group04 .flex .text {
  padding-left: 0;
  padding-right: 64px;
}

#land_utilization_sec .group04 .main_inner {
  margin-bottom: 0px;
}

#feature_part_1_sec {
}

#feature_part_1_sec .main_wrap {
  margin-bottom: 120px;
}

#feature_part_1_sec .group01 {
  position: relative;
  height: 580px;
  margin: auto;
  z-index: 1;
  background-color: #f0f9fd;
}

#feature_part_1_sec .group01 .main_inner {
}

#feature_part_1_sec .group01 .text {
  z-index: 2;
  position: relative;
  padding: 80px 63px;
  background-color: #fff;
  width: 544px;
  left: -62px;
  /* top: -40px; */
}

#feature_part_1_sec .group01 .text h5 {
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
  line-height: 1;
  color: #d10120;
}

#feature_part_1_sec .group01 .text h3 {
  font-size: 40px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 1;
}

#feature_part_1_sec .group01 .bg_wrap {
  /* max-width: 1366px; */
  height: 540px;
  position: absolute;
  /* height: 100%; */
  width: 100%;
  min-width: 1366px;
  bottom: 0;
}

#feature_part_1_sec .group01 .img {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  background-image: url(../img/feature_part_1_sec_img_01.jpg);
  background-position: center;
  background-size: cover;
  z-index: 1;
  right: 0;
}

#feature_part_1_sec .group02 {
  z-index: 2;
  position: relative;
}
#feature_part_1_sec .group02 .main_inner {
  margin-bottom: 80px;
}

#feature_part_1_sec .group02 .contents_inner {
  padding: 0 64px;
}
#feature_part_1_sec .group02 .flex {
  display: flex;
  justify-content: space-between;
  margin-top: -40px;
}
#feature_part_1_sec .group02 .flex .contents {
  width: 480px;
}
#feature_part_1_sec .group02 .flex .contents .head {
  background-color: #11076d;
  color: #fff;
  text-align: center;
  position: relative;
  font-size: 18px;
  margin-bottom: 50px;
  line-height: 40px;
  height: 40px;
}
#feature_part_1_sec .group02 .flex .contents .head::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 10px;
  background: linear-gradient(
        to top right,
        rgba(255, 255, 255, 0) 50%,
        #11076d 50.5%
      )
      no-repeat top left/50% 100%,
    linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #11076d 50.5%)
      no-repeat top right/50% 100%;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
#feature_part_1_sec .group02 .flex .contents .tit {
  font-size: 22px;
  text-align: center;
  line-height: 1;
  padding-top: 12px;
  margin-bottom: 14px;
}
#feature_part_1_sec .group02 .flex .contents .tit span {
  position: relative;
  padding-top: 12px;
}
#feature_part_1_sec .group02 .flex .contents .tit span:before {
  content: "";
  width: 5px;
  height: 5px;
  background-color: #11076d;
  position: absolute;
  border-radius: 50%;
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
}
#feature_part_1_sec .group02 .flex .contents .num {
  font-size: 60px;
  text-align: center;
  color: #14016a;
  font-weight: bold;
  line-height: 1;
  position: relative;
  z-index: 1;
}
#feature_part_1_sec .group02 .flex .contents .num span {
  font-size: 29px;
}
#feature_part_1_sec .group02 .flex .contents .img {
  margin-top: -20px;
  line-height: 0;
}
#feature_part_1_sec .group02 .flex .contents .text {
  background-color: #f0f9fd;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  padding: 30px 0 40px;
}
#feature_part_1_sec .group02 .flex .contents .text span {
  display: block;
  line-height: 1;
  padding-bottom: 20px;
}
#feature_part_1_sec .group02 .flex .contents .text span:before,
#feature_part_1_sec .group02 .flex .contents .text span:after {
  content: "";
  width: 19px;
  height: 23px;
  display: inline-block;
  background-image: url(../img/feature_part_1_sec_img_04.svg);
  background-repeat: no-repeat;
  top: 4px;
  position: relative;
}
#feature_part_1_sec .group02 .flex .contents .text span:before {
  background-image: url(../img/feature_part_1_sec_img_05.svg);
  left: -10px;
}
#feature_part_1_sec .group02 .flex .contents .text span:after {
  right: -10px;
}

#feature_part_1_sec .group03 {
}

#feature_part_1_sec .group03 .main_inner {
}
#feature_part_1_sec .group03 .contents_inner {
  padding: 0 64px;
  text-align: center;
}
#feature_part_1_sec .group03 .copy01 {
  text-align: center;
  font-size: 29px;
  line-height: 1;
  margin-bottom: 56px;
  border-top: solid 2px #777777;
  border-bottom: solid 2px #777777;
  padding: 20px 0px;
}
#feature_part_1_sec .group03 .tit {
  text-align: center;
  background-color: #0a3a8e;
  color: #fff;
  padding: 29px;
  font-size: 22px;
  letter-spacing: 0.06em;
  margin-bottom: 42px;
}
#feature_part_1_sec .group03 .copy02 {
  text-align: center;
  margin-bottom: 30px;
}
#feature_part_1_sec .group03 .copy02 span {
  display: inline-block;
  font-size: 29px;
  letter-spacing: 0.08em;
  position: relative;
  z-index: 1;
  line-height: 1.5172413793103448;
}
#feature_part_1_sec .group03 .copy02 span:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 13px;
  left: 0;
  bottom: 2px;
  background-color: #e4ff00;
  z-index: -1;
}
#feature_part_1_sec .group03 .detail {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.02em;
}
#feature_part_1_sec .group03 .img_tit {
  font-size: 18px;
  padding: 10px 30px;
  line-height: 1;
  background-color: #11076d;
  color: #fff;
  display: inline-block;
  margin-bottom: 10px;
}
#feature_part_1_sec .group03 .img {
  width: 393px;
  margin: auto;
  margin-bottom: 20px;
}
#feature_part_1_sec .group03 .caption {
  font-size: 16px;
  color: #454545;
  margin-bottom: 60px;
}

#feature_part_2_sec {
}
#feature_part_2_sec .group01 {
  height: 550px;
  position: relative;
  z-index: 1;
}
#feature_part_2_sec .group01 .bg_wrap {
  /* max-width: 1366px; */
  height: 550px;
  position: absolute;
  /* height: 100%; */
  width: 100%;
  min-width: 1366px;
  bottom: 0;
}
#feature_part_2_sec .group01 .bg_wrap .img {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  background-image: url(../img/feature_part_2_sec_img_01.jpg);
  background-position: center;
  background-size: cover;
  z-index: 1;
  right: 0;
}
#feature_part_2_sec .group01 .main_inner {
  padding-top: 54px;
  position: relative;
}
#feature_part_2_sec .group01 .contents_inner {
  padding: 0px 64px;
}
#feature_part_2_sec .group01 .flex {
  position: relative;
  z-index: 2;
  display: flex;
  width: 630px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 47px 0px;
}
#feature_part_2_sec .group01 .main_inner .img {
  position: absolute;
  width: 290px;
  left: 690px;
  top: -40px;
  z-index: 2;
}
#feature_part_2_sec .group01 .flex .shape {
  width: 160px;
  background-color: #fff;
  height: 80px;
  text-align: center;
  position: relative;
}
#feature_part_2_sec .group01 .flex .shape:before,
#feature_part_2_sec .group01 .flex .shape:after {
  content: "";
  position: absolute;
  width: 160px;
  height: 47px;
  background: linear-gradient(
        to top right,
        rgba(255, 255, 255, 0) 50%,
        #ffffff 50.5%
      )
      no-repeat top left/50% 100%,
    linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #ffffff 50.5%)
      no-repeat top right/50% 100%;
  bottom: -47px;
  left: 0;
  right: 0;
  margin: auto;
}
#feature_part_2_sec .group01 .flex .shape:before {
  bottom: auto;
  top: -47px;
  transform: rotate(180deg);
}
#feature_part_2_sec .group01 .flex .shape:after {
}

#feature_part_2_sec .group01 .flex .shape01 {
  margin-right: 72px;
  color: #1388c0;
}
#feature_part_2_sec .group01 .flex .shape02 {
  order: 04;
  margin-right: 72px;
  color: #cd7227;
}
#feature_part_2_sec .group01 .flex .shape03 {
  margin-right: 72px;
  color: #325780;
}
#feature_part_2_sec .group01 .flex .shape04 {
  order: 05;
  color: #e34057;
}
#feature_part_2_sec .group01 .flex .shape05 {
  color: #10ad9c;
}
#feature_part_2_sec .group01 .flex .shape02,
#feature_part_2_sec .group01 .flex .shape04 {
  margin-top: 47px;
}
#feature_part_2_sec .group01 .flex .shape .num {
  font-size: 21px;
  margin-bottom: 8px;
  line-height: 1;
}

#feature_part_2_sec .group01 .flex .shape .tit {
  line-height: 1.27;
  font-size: 18px;
  font-weight: bold;
}

#feature_part_2_sec .group01 .flex .shape01 .tit {
  color: #4da8d3;
}
#feature_part_2_sec .group01 .flex .shape02 .tit {
  color: #dc8b48;
}
#feature_part_2_sec .group01 .flex .shape03 .tit {
  color: #587ba3;
}
#feature_part_2_sec .group01 .flex .shape04 .tit {
  color: #f25b70;
}
#feature_part_2_sec .group01 .flex .shape05 .tit {
  color: #26c4b3;
}

#feature_part_2_sec .group02 {
  position: relative;
  z-index: 2;
}
#feature_part_2_sec .group02 .main_inner {
  margin-top: -160px;
  background-color: #fff;
  margin-bottom: 100px;
}
#feature_part_2_sec .group02 .contents_inner {
  padding: 0 64px;
}
#feature_part_2_sec .group02 .read {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.02em;
  padding: 60px 0px;
}
#feature_part_2_sec .group02 .contents {
  margin-bottom: 80px;
}
#feature_part_2_sec .group02 .contents .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#feature_part_2_sec .group02 .contents .flex .text {
  width: 480px;
}
#feature_part_2_sec .group02 .contents .flex .text img {
  width: 145px;
  margin-top: 30px;
}
#feature_part_2_sec .group02 .contents .flex .text .bar {
  display: flex;
  align-items: center;
  margin-bottom: 28px;
}
#feature_part_2_sec .group02 .contents .flex .text .bar p {
  display: inline-block;
  font-size: 22px;
  color: #fff;
  line-height: 1;
  padding: 10px 20px;
}
#feature_part_2_sec .group02 .contents .flex .text .bar span {
  padding: 10px 20px;
  font-size: 22px;
  line-height: 1;
  color: #fff;
}
#feature_part_2_sec .group02 .contents01 .flex .text .bar p {
  background-color: #4da8d3;
}
#feature_part_2_sec .group02 .contents01 .flex .text .bar span {
  background-color: #1388c0;
}

#feature_part_2_sec .group02 .contents02 .flex .text .bar p {
  background-color: #dc8b48;
}
#feature_part_2_sec .group02 .contents02 .flex .text .bar span {
  background-color: #cd7227;
}

#feature_part_2_sec .group02 .contents03 .flex .text .bar p {
  background-color: #587ba3;
}
#feature_part_2_sec .group02 .contents03 .flex .text .bar span {
  background-color: #325780;
}

#feature_part_2_sec .group02 .contents04 .flex .text .bar p {
  background-color: #f25b70;
}
#feature_part_2_sec .group02 .contents04 .flex .text .bar span {
  background-color: #e34057;
}
#feature_part_2_sec .group02 .contents05 .flex .text .bar p {
  background-color: #26c4b3;
}
#feature_part_2_sec .group02 .contents05 .flex .text .bar span {
  background-color: #10ad9c;
}
#feature_part_2_sec .group02 .contents .flex .text h3 {
  font-size: 29px;
  letter-spacing: 0.04em;
  font-weight: 400;
  line-height: 1.241;
  margin-bottom: 30px;
}
#feature_part_2_sec .group02 .contents .flex .text .bold {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 30px;
}
#feature_part_2_sec .group02 .contents .flex .img {
  width: 480px;
  line-height: 1;
}
#feature_part_2_sec .group02 .contents .flex .text .detail {
  font-size: 18px;
  line-height: 1.555;
}
#feature_part_2_sec .group02 .contents .flex .text .caption {
  font-size: 14px;
  margin-top: 20px;
}
#feature_part_2_sec .group02 .contents01 .flex {
  margin-bottom: 40px;
}

#feature_part_2_sec .group02 .contents .sub {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#feature_part_2_sec .group02 .contents .sub_contents {
  width: 480px;
}
#feature_part_2_sec .group02 .contents .sub_contents h4 {
  font-size: 22px;
  font-weight: 400;
  border-left: solid 6px #144a9e;
  padding-left: 14px;
  margin-bottom: 15px;
}
#feature_part_2_sec .group02 .contents .sub_contents .flex {
}
#feature_part_2_sec .group02 .contents .sub_contents .flex .img {
  width: 160px;
}
#feature_part_2_sec .group02 .contents .sub_contents .flex p {
  width: 290px;
  font-size: 16px;
  color: #454545;
  line-height: 1.5;
}
#feature_part_2_sec .group02 .contents02 .flex,
#feature_part_2_sec .group02 .contents04 .flex {
  flex-direction: row-reverse;
}

#cta_tell_sec {
}
#cta_tell_sec .main_wrap {
  background-color: #f7f7f7;
  padding: 90px 0px 100px;
}

#cta_tell_sec .main_wrap .group01 {
}
#cta_tell_sec .main_wrap .group01 .flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

#cta_tell_sec .main_wrap .group01 .flex .btn_wrap {
  width: 352px;
}

#cta_tell_sec .main_wrap .group01 .flex .btn_wrap .tit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
#cta_tell_sec .main_wrap .group01 .flex .btn_wrap .tit img {
  width: 42px;
  height: 36px;
}
#cta_tell_sec .main_wrap .group01 .flex .btn_wrap .tit p {
  font-size: 18px;
  font-weight: bold;
}
#cta_tell_sec .main_wrap .group01 .flex .btn_wrap a {
  background-color: #d10120;
  color: #fff;
  width: 100%;
  display: block;
  text-align: center;
  padding: 30px 0px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  transition: opacity .3s ease 0s;
}
#cta_tell_sec .main_wrap .group01 .flex .btn_wrap a:hover{
  opacity:0.6
}
#cta_tell_sec .main_wrap .group01 .flex .btn_wrap a:after {
  content: "";
  width: 10px;
  height: 17px;
  background-image: url(../img/btn_arrow-carrot_right_white.svg);
  position: absolute;
  background-size: cover;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
#cta_tell_sec .main_wrap .group01 h2 {
  font-size: 29px;
  text-align: center;
  font-weight: 400;
  margin-bottom: 50px;
}
#cta_tell_sec .main_wrap .group01 .tell {
  background-color: #f1f1f1;
  padding: 30px 64px;
}

#cta_tell_sec .main_wrap .group01 .tell a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  transition: opacity .3s ease 0s;
}
#cta_tell_sec .main_wrap .group01 .tell a:hover{
  opacity:0.6
}
#cta_tell_sec .main_wrap .group01 .tell a .text01 {
  font-size: 22px;
  line-height: 1;
}

#cta_tell_sec .main_wrap .group01 .tell a .text02 {
  display: flex;
  align-items: center;
  margin-left: 70px;
}
#cta_tell_sec .main_wrap .group01 .tell a .text02 img {
  width: 49px;
  margin-right: 20px;
}
#cta_tell_sec .main_wrap .group01 .tell a .text02 h4 {
  font-size: 40px;
  line-height: 1;
}
#cta_tell_sec .main_wrap .group01 .tell a .text03 {
  font-size: 16px;
  font-weight: bold;
  margin-left: 60px;
  line-height: 1;
  padding-top: 5px;
}
#cta_tell_sec .main_wrap .group01 .tell a .text03 span {
  margin-right: 13px;
}

#date_sec {
}
#date_sec .main_wrap {
  background-color: #f0f9fd;
  padding: 100px 0px;
}

#date_sec .head {
  text-align: center;
  margin-bottom: 40px;
}
#date_sec .head p {
  color: #d10120;
  font-size: 18px;
  letter-spacing: 0.12em;
  margin-bottom: 33px;
  line-height: 1;
}
#date_sec .head h2 {
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1;
}

#date_sec ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#date_sec ul::after {
  content: "";
  width: 352px;
}
#date_sec ul li {
  width: 352px;
  background-color: #fff;
  height: 458px;
  margin-bottom: 40px;
}
#date_sec ul li .contents {
  padding: 35px 40px;
  text-align: center;
}
#date_sec ul li .tit {
  font-size: 18px;
  color: #fff;
  background-color: #003196;
  text-align: center;
  line-height: 1;
  font-weight: bold;
  padding: 7px 0px;
  margin-bottom: 15px;
}
#date_sec ul li img {
  width: 190px;
  margin: auto;
  margin-bottom: 26px;
}
#date_sec ul li .caption {
  text-align: left;
  font-size: 16px;
  color: #454545;
}
#date_sec ul li:nth-child(n + 4) {
  height: 404px;
}
#date_sec ul li:nth-child(n + 4) img {
  width: 122px;
}

#result_sec {display: none;}
#result_sec .main_wrap {
  background-color: #2e5fb4;
}
#result_sec .main_inner {
  max-width: 1366px;
  min-width: 1366px;
  line-height: 1;
}

#case_sec {
}
#case_sec .main_wrap {
  padding: 100px 0px;
}
#case_sec .group01 {
}

#case_sec .group01 .head {
  text-align: center;
  margin-bottom: 50px;
}
#case_sec .group01 .head p {
  color: #d10120;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1;
  margin-bottom: 28px;
}
#case_sec .group01 .head h2 {
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
#case_sec .group {
  margin-bottom: 80px;
}
#case_sec .group .main_inner {
  position: relative;
}
#case_sec .group .contents_inner {
  padding: 0 64px;
}
#case_sec .group .slide {
  width: 672px;
  margin-left: auto;
  margin-bottom: 30px;
}
#case_sec .group .slide .main.swiper-container {
  height: 100%;
  margin-bottom: 30px;
  height: 414px;
}

#case_sec .group .slide .main .swiper-wrapper {
}
#case_sec .group .slide .main li {
  text-align: center;
  background-color: #f0f9fd;
}
#case_sec .group .slide .main li img {
  width: auto;
  height: 100%;
  margin: auto;
}

#case_sec .group .slide .thumbs {
}
#case_sec .group .slide .thumbs ul {
  justify-content: flex-end;
}
#case_sec .group .slide .thumbs ul li {
  width: 60px !important;
  height: 60px;
  background-size: cover;
  background-position: center;
  margin-left: 10px;
  margin-right: 0 !important;
  cursor: pointer;
  transition: opacity .3s ease 0s;
}
#case_sec .group .slide .thumbs ul li:hover{
  opacity:0.6
}
#case_sec .group .slide .thumbs ul li img {
  height: auto;
  width: 100%;
}
#case_sec .group .slide .thumbs ul li.swiper-slide-thumb-active {
  outline: 2px solid #d10120;
  outline-offset: -2px;
  /* margin-left: 10px; */
  /* margin-right: 0!important; */
}
#case_sec .group .text {
  position: absolute;
  z-index: 2;
  width: 384px;
  background-color: #fff;
  top: 40px;
  box-shadow: 0 30px 60px rgba(18, 55, 71, 0.06);
}

#case_sec .group .text h5 {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 20px;
  font-weight: 400;
}
#case_sec .group .text h3 {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.545;
  margin-bottom: 40px;
}
#case_sec .group .text p {
  line-height: 1.5;
  font-size: 16px;
}
#case_sec .group .text .text_inner {
  padding: 40px;
}

#case_sec .group .table {
  display: flex;
  justify-content: space-between;
  padding: 0 32px;
}
#case_sec .group .table table {
  width: 288px;
}
#case_sec .group .table tr {
  border-top: solid 1px #e3e3e3;
}
#case_sec .group .table tr:last-child {
  border-bottom: solid 1px #e3e3e3;
}
#case_sec .group .table th,
#case_sec .group .table td {
  font-size: 16px;
  line-height: 2.5;
}
#case_sec .group .table th {
  width: 80px;
  text-align: left;
  font-weight: bold;
}
#case_sec .group .table td {
  padding-left: 20px;
}
#case_sec .btn {
  text-align: center;
}
#case_sec .btn a {
  font-size: 22px;
  background-color: #d10120;
  color: #fff;
  width: 606px;
  height: 60px;
  display: inline-block;
  text-align: center;
  line-height: 60px;
  position: relative;
  font-weight: bold;
}
#case_sec .btn a:after {
  content: "";
  width: 10px;
  height: 17px;
  background-image: url(../img/btn_arrow-carrot_right_white.svg);
  position: absolute;
  background-size: cover;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}

#faq_sec {display: none;}
#faq_sec .main_wrap {
  background-color: #f0f9fd;
  padding: 100px 0px;
}
#faq_sec .group01 .head {
  text-align: center;
  margin-bottom: 50px;
}
#faq_sec .group01 .head p {
  color: #d10120;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1;
  margin-bottom: 28px;
}
#faq_sec .group01 .head h2 {
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
#faq_sec .icon {
  font-size: 22px;
  width: 48px;
  height: 48px;
  line-height: 48px;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  margin-right: 35px;
  position: relative;
}
#faq_sec .acd-label .icon {
  background-color: #11076d;
}
#faq_sec .acd-content .icon {
  background-color: #d10120;
  top: 30px;
}
#faq_sec .acd-content .text {
  width: calc(100% - 48px - 35px - 64px);
  /* padding-left: 35px; */
  /* padding-right: 64px; */
  border-top: dotted 1px #333333;
  padding: 30px 0px;
}
#faq_sec .acd-content .text .box {
  margin-bottom: 30px;
}
#faq_sec .acd-content .text h3 {
  font-size: 22px;
  margin-bottom: 10px;
  line-height: 1.5;
}
#faq_sec .acd-content .text p {
  font-size: 18px;
  line-height: 1.55555;
}
#faq_sec .acd-content .text span {
  color: #454545;
  font-size: 14px;
}
.acd-check {
  display: none;
}
.acd-label {
  display: flex;
  border-top: solid 4px #dde5e9;
  align-items: center;
  padding: 22px 0px;
  position: relative;
}
.acd-label.last {
  border-bottom: solid 4px #dde5e9;
}
.acd-check:checked + .acd-label.last {
  border-bottom: unset;
}
.acd-check:checked + .acd-label + .acd-content.last {
  border-bottom: solid 4px #dde5e9;
}
.acd-label:before {
  content: "";
  position: absolute;
  right: 20px;
  width: 22px;
  height: 2px;
  background-color: #000000;
}
.acd-label:after {
  content: "";
  position: absolute;
  right: 30px;
  width: 2px;
  height: 22px;
  background-color: #000000;
  transition: 0.2s;
}

.acd-label p {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}
.acd-content {
  display: flex;
  height: 0;
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
}
.acd-check:checked + .acd-label:after {
  opacity: 0;
}
.acd-check:checked + .acd-label + .acd-content {
  height: auto;
  opacity: 1;
  visibility: visible;
}

footer {
}
footer .group01 {
  height: 300px;
  position: relative;
}
footer .group01 .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/footer_img_01.jpg);
  background-position: center;
  background-size: cover;
  z-index: 0;
}
footer .group01 .text {
  text-align: center;
  font-size: 29px;
  letter-spacing: 0.16em;
  color: #fff;
  text-shadow: 0px 0px 60px #7abef9;
  padding-top: 100px;
  position: relative;
  z-index: 1;
  font-weight: 400;
}
footer .group01 .text h3 {
  font-weight: 100;
}
footer .group02 {
  padding-bottom: 70px;
}
footer .group02 .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 0px;
}
footer .group02 .flex .link {
  display: flex;
}
footer .group02 .flex .link a {
  display: flex;
  font-size: 14px;
  margin-right: 30px;
  align-items: center;
}
footer .group02 .flex .link a img {
  transform: rotate(270deg);
  width: 7px;
  margin-right: 6px;
  height: 7px;
}
footer .group02 .copy {
  font-size: 14px;
  line-height: 1;
}

#fixd_sec {
  position: fixed;
  background-color: #eeede9;
  z-index: 9;
  bottom: 0;
  height: 70px;
  width: 100%;
}

#fixd_sec .flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#fixd_sec .main_wrap {
  /* display: flex; */
  /* align-items: center; */
  justify-content: center;
  height: 100%;
  top: 13px;
  position: relative;
}

#fixd_sec .btn_wrap {
  width: 352px;
  height: 43px;
}
#fixd_sec .btn_wrap a {
  background-color: #d10120;
  color: #fff;
  display: block;
  height: 100%;
  position: relative;
  text-align: center;
  line-height: 43px;
  font-size: 18px;
  font-weight: bold;
  transition: opacity .3s ease 0s;
}
#fixd_sec .btn_wrap a:hover{
  opacity:0.6
}

#fixd_sec .btn_wrap a:before {
  content: "";
  width: 22px;
  height: 25px;
  position: absolute;
  background-size: cover;
  background-position: center;
  left: 20px;
  top: 0;
  bottom: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#fixd_sec .btn_wrap a:after {
  content: "";
  width: 9px;
  height: 16px;
  background-image: url(../img/btn_arrow-carrot_right_white.svg);
  position: absolute;
  background-size: cover;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
#fixd_sec .btn_wrap.btn01 a:before {
  background-image: url(../img/icon_faq-01_white.svg);
}
#fixd_sec .btn_wrap.btn02 a:before {
  background-image: url(../img/icon_document-01_white.svg);
}
#fixd_sec .btn_wrap.btn03 a:before {
  background-image: url(../img/icon_map-search-01_white.svg);
}






header .humb_menu {
  display: none;
}

header .humb_menu .humb {
  position: relative;
  width: 40px;
  height: 20px;
  cursor: pointer;
}

header .humb_menu .humb span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 4px;
  transition: .6s;
}

header .humb_menu .humb span:nth-of-type(1) {
  top: 0;
}

header .humb_menu .humb span:nth-of-type(2) {
  top: 9px;
}

header .humb_menu .humb span:nth-of-type(3) {
  bottom: 0;
  /* transform-origin: center; */
}

.nav_open header .humb_menu .humb span:nth-of-type(1) {top: 8px;transform: rotate(
45deg
);}
.nav_open header .humb_menu .humb span:nth-of-type(2) {
  opacity: 0;
}
.nav_open header .humb_menu .humb span:nth-of-type(3) {transform: rotate(-45deg);top: 8px;}

#full_menu {
  position: fixed;
  top: 0;
  z-index: 10;
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  transition: transform .6s ease .6s;
  display: none;
  align-items: center;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
}
#full_menu .bg{
}
#full_menu::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

#full_menu.menu_open {
  transform: translateY(0%);
  transition: transform .6s ease 0s;
}

#full_menu .wrap {
  /* width: 100%; */
  margin: auto;
  padding: 70px 20px;
  height: 100%;
  z-index: 1;
  position: relative;
}

#full_menu .inner {
  width: 100%;
}

#full_menu .anker {
    margin-bottom: 30px;
}
#full_menu .anker li{}
#full_menu .anker li a{
    color: #fff;
    font-size: 16px;
    border-bottom: solid 1px #fff;
    display: block;
    line-height: 3;
    font-weight: bold;
    position: relative;
}
#full_menu .anker li a:after {
    content: "";
    width: 9px;
    height: 16px;
    background-image: url(../img/btn_arrow-carrot_right_white.svg);
    position: absolute;
    background-size: cover;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}
#full_menu .cta{
    /* padding: 0 10px; */
    margin-bottom: 30px;
}
#full_menu .cta li{}
#full_menu .cta li a{
  background-color: #d10120;
  color: #fff;
  display: block;
  height: 55px;
  line-height: 55px;
  margin-bottom: 10px;
  border: solid 1px #fff;
  text-align: center;
  font-weight: bold;
  position: relative;
}
#full_menu .cta li a:after {
    content: "";
    width: 9px;
    height: 16px;
    background-image: url(../img/btn_arrow-carrot_right_white.svg);
    position: absolute;
    background-size: cover;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}
#full_menu .cta li a:before {
    content: "";
    width: 22px;
    height: 25px;
    position: absolute;
    background-size: cover;
    background-position: center;
    left: 20px;
    top: 0;
    bottom: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
#full_menu .cta li.btn01 a:before {
    background-image: url(../img/icon_faq-01_white.svg);
}

#full_menu .cta li.btn02 a:before {
    background-image: url(../img/icon_document-01_white.svg);
}

#full_menu .cta li.btn03 a:before {
    background-image: url(../img/icon_map-search-01_white.svg);
}

#full_menu .tell{
  background-color: #fff;
  display: block;
  text-align: center;
  padding: 20px 0px;
  margin-bottom: 60px;
}

#full_menu .tell .text01 {
    font-size: 16px;
    margin-bottom: 0px;
  }
#full_menu .tell .text02 {
    margin: auto;
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
  }
#full_menu .tell .text02 h4 {
    font-size: 30px;
  }
#full_menu .tell .text02 img {
    width: 30px;
    margin-right: 10px;
  }
#full_menu .tell .text03 {
    margin-left: 0px;
    font-size: 13px;
  }

  #full_menu .close{
    
  }
  #full_menu .close a{
    color: #fff;
    font-size: 14px;
    text-align: center;
    display: block;
    position: relative;
  }
  #full_menu .close a::before, #full_menu .close a::after{
    content: "";
    display: block;
    width: 20px;/*バツ線の長さ*/
    height: 1px;/*バツ線の太さ*/
    background: #fff;
    transform: rotate(45deg);
    transform-origin:0% 50%;
    position: absolute;
    right: 0;
    left: -80px;
    margin: auto;
    bottom: 0;
    top: -14px;
}

#full_menu .close a::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: -92px;
}