@charset "utf-8";
/* 横のスクロールを消す */
html, body {
  width: 100%;
  overflow-x: hidden;
}
img, iframe, table, div {
  max-width: 100%;
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}
body {
  line-height: 1.75;
  background: #fff;
  font-family:
    "游ゴシック体", "Yu Gothic", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  color: #353535;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}
.box-page-top {
  margin-top: -20px
}
@media screen and (max-width: 768px) {
  .box-page-top {
    margin-top: -50px
  }
}
figure {
  text-align: center;
}
img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; /* IE8以降で画像が縮小表示された際にきれいに表示*/
  vertical-align: middle;
}
a {
  text-decoration: none;
  color: #353535;
  outline: none;
}
a, p {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
li {
  list-style: none;
}
.circle-img {
  border-radius: 50%;
}
.back-blue {
  position: relative;
  background: url("../../test/css/back.jpg") no-repeat center center
}
#pageTop {
  margin-top: -200px
}
#pageTop-2 {
  margin-top: -150px
}
#pageTop-3 {
  margin-top: -100px
}
@media screen and (max-width: 768px) {
  #pageTop {
    margin-top: -160px
  }
  #pageTop-2 {
    margin-top: -100px
  }
  #pageTop-3 {
    margin-top: -80px
  }
}
/*---------------------------------------------------------------
	共通スタイル
----------------------------------------------------------------*/
.pageContain {
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
}
.header, .main, .footer {
  width: 100%;
}
.main {
  overflow: hidden;
}
/*	content
------------------------------------------*/
.inner {
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 30px;
}
.h2-p {
  font-size: 3rem
}
p {
  font-size: 1.6rem
}
@media screen and (max-width: 768px) {
  .h2-p {
    font-size: 2.2rem;
    margin-top: 10px
  }
  p {
    font-size: 1.5rem
  }
}
.col {
  display: flex;
}
.br {
  display: inline-block;
}
.clearfix::after {
  content: “”;
  display: block;
  clear: both;
}
/* common.js 51 / スクロールで表示用css */
.fixFade {
  display: none;
  transition: none;
}
@media screen and (max-width: 1024px) {
  .pageContain {
    min-width: 100%;
  }
  .inner {
    width: 100% !important;
  }
}
@media screen and (min-width: 769px) {
  .hidden-o768 {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .inner {
    padding: 0 ;
  }
  .hidden-u768 {
    display: none !important;
  }
  .col_bl {
    display: block !important;
  }
}
@media screen and (min-width: 500px) {
  .hidden-o500 {
    display: none !important;
  }
}
@media screen and (max-width:500px) {
  .hidden-u500 {
    display: none !important;
  }
  .inner {
    padding: 0 3%;
  }
}
/*	heading
------------------------------------------*/
.h2 {
  position: relative;
  margin-bottom: 60px;
  font-size: 3.0rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
.h2_balloon {
  position: relative;
  display: inline-block;
  padding: 11px 30px;
  border-radius: 25px;
  background: rgba(225, 225, 225, 0.64);
  color: #353535;
  font-size: 1.6rem;
}
.h2_balloon2 {
  width: 300px;
  height: 40px;
  margin: 0 auto 50px;
  padding: 11px 30px;
  border-radius: 25px;
  background: #1E5F97;
  color: #fff;
  font-size: 1.6rem;
  position: relative;
  text-align: center
}
.h2_small {
  display: inline-block;
  margin-left: 13px;
  font-size: 3.0rem;
  vertical-align: sub;
}
.h2_sub_line {
  position: relative;
  display: inline-block;
  color: #1E5F97;
  font-size: 2.0rem;
  letter-spacing: 0.2em;
}
.h2_sub_line::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #1E5F97;
  border-radius: 10px;
}
.h2_sub_line-white {
  position: relative;
  display: inline-block;
  color: #FFFFFF;
  font-size: 2.0rem;
  letter-spacing: 0.2em;
  margin-bottom: 50px
}
.h2_sub_line-white::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #FFFFFF;
  border-radius: 10px;
}
.h2_sub_txt {
  margin-top: 30px;
  font-size: 2rem;
}
.middle-logo {
  width: 250px;
}
@media screen and (max-width:768px) {
  .h2 .logo_ep {
    width: 81%;
    max-width: 180px;
    height: auto
  }

}
@media screen and (max-width:500px) {
  .h2 {
    font-size: 2rem;
    margin-bottom: 40px;
  }
  .h2_sub_line {
    font-size: 1.6rem;
  }
  .h2_sub_txt {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .h2_balloon {
    margin-bottom: 10px;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
  }
  .h2_balloon2 {
    font-size: 1.4rem;
    letter-spacing: 0.2em;
  }
  .h2_small {
    margin-left: 7px;
    font-size: 1.7rem;
  }
}
.h3 {
  margin-bottom: 30px;
  color: #000000;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
.h3-blue {
  margin-bottom: 30px;
  color: #1E5F97;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
.h3_line {
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}
.h3_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 5px;
  background-color: #000000;
  border-radius: 10px;
}
@media screen and (max-width:500px) {
  .h3 {
    font-size: 2.2rem;
  }
  .h3_line + .h3_line {
    margin-top: 8px;
  }
}
/*	スライダー
------------------------------------------*/
/* コンテナを基準にボタンを絶対配置 */
.slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}
/* 折り返し防止を明示 */
.slider-track {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.5s ease;
}
.slide {
  flex: 0 0 55%;
  margin: 80px 10px;
  box-sizing: border-box;
}
.slide picture, .slide img {
  display: block;
  width: 100%;
  height: auto;
}
/* SP調整 */
@media (max-width: 640px) {
  .slide {
    flex: 0 0 75%;
    margin: 20px 5px;
  }
}
/* ナビボタン */
button.prev, button.next {
  position: absolute;
  top: 40%;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  background: #EAF2F8;
  color: #1E5F97;
  border: none;
  font-size: 2rem;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  line-height: 10px;
  border-radius: 50%;
  font-weight: bold;
}
button.prev {
  left: 5px;
}
button.next {
  right: 5px;
}
/*	columnArea
------------------------------------------*/
#column .column {
  padding: 60px 0 75px;
}
.column h2 {
  font-size: 3.4rem;
}
.column .h2_sub_line {
  margin-bottom: 30px;
}
@media screen and (max-width:768px) {
  .column {
    padding: 20px 0 75px;
  }
}
@media screen and (max-width:500px) {
  .column h2 {
    font-size: 2.0rem;
  }
}
.column-box {
  width: 90%;
  margin: 20px auto;
  padding: 5% 15% 5% 3%;
  background: rgba(255, 255, 255, 1.00);
  border-radius: 30px;
}
@media screen and (max-width:640px) {
  #column .column {
    padding: 60px 0 15px;
  }
  .column-box {
    width: 95%;
    padding: 5% 3% 5% 3%;
  }
}
.h2-slash {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}
.h2-slash:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.h2-slash:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.h2-slash:before {
  left: 0;
}
.h2-slash:after {
  right: 0;
}
@media screen and (max-width:500px) {
  .h2_balloon3 {
    margin-bottom: 10px;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
  }
}
/*	cv_btnArea
------------------------------------------*/
.cv_wrap {
  padding: 30px 0 70px;
}
.cv_wrap.bg01 {
  background: #EAF2F8;
}
.cv_btnArea {
  text-align: center;
}
.cv_btnArea.col {
  justify-content: center;
}
.cv_btnArea > [class*="cv_btn"] {
  width: 48%;
  max-width: 400px;
}
.cv_btnArea [class*="cv_btn"]:nth-child(n+2) {
  margin-left: 2%;
}
.cv_btn_balloon {
  margin-top: 100px;
  display: block;
  position: relative;
  z-index: 2;
  width: max-content;
  margin: 0 auto 10px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.text-s {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.05em; /* 文字間を少し狭くする */
}
.cv_btn01 a, .cv_btn02 a {
  position: relative;
  display: block;
  padding: 10px 40px;
  border-radius: 30px;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  box-shadow: 0 2px 6px rgba(125, 55, 4, 0.26);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.cv_btn01 a::before, .cv_btn02 a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 7.5%;
  transform: translateY(-50%);
  display: block;
}
.cv_btn01 a::after, .cv_btn02 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  display: block;
  width: 10px;
  height: 15px;
}
/*.cv_btn01---------------------------------*/
.cv_btn01 a {
  background: #1E5F97;
  border: solid 3px #1E5F97;
}
.cv_btn01 a::before {
  width: 37px;
  height: 29px;
  background: url("../../test/images/btn_ic02.svg") no-repeat center / contain;
}
.cv_btn01 a:hover {
  background-color: #FFFFFF;
  border: solid 3px #1E5F97;
  color: #1E5F97;
}
/*.cv_btn02---------------------------------*/
.cv_btn02 a {
  background: #353535;
}
.cv_btn02 a::before {
  width: 26px;
  height: 33px;
  background: url("../../test/images/flow_ic01.svg") no-repeat center / contain;
}
.cv_btn02 a:hover {
  background-color: #22140e;
}
@media screen and (max-width:768px) {
  .cv_btnArea > [class*="cv_btn"] {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .cv_btnArea [class*="cv_btn"]:nth-child(n+2) {
    margin: 15px auto 0;
  }
}
@media screen and (max-width:500px) {
  .cv_btn01 a, .cv_btn02 a {
    padding: 22px 35px;
    font-size: 1.5rem;
  }
  .cv_btn01 a::before {
    width: 25px;
    height: 19px;
    left: 5.5%;
  }
  .cv_btn02 a::before {
    width: 25px;
    height: 19px;
    left: 5.5%;
  }
  .cv_btn01 a::after, .cv_btn02 a::after {
    width: 10px;
    height: 15px;
  }
  .cv_btn_balloon {
    font-size: 1.3rem;
    margin-top: 50px;
  }
}
/*	txtBox
------------------------------------------*/
.txtBox {
  padding: 25px 30px;
  background: #F7F5F0;
  border-radius: 20px;
  box-shadow: 0 3px 15px rgba(125, 55, 4, 0.16);
  font-size: 1.6rem;
}
.bold {
  font-weight: 700;
}
.txtBox p + p {
  margin-top: 15px;
}
@media screen and (max-width:768px) {
  .txtBox {
    font-size: 1.4rem;
  }
}
/*	caption
------------------------------------------*/
.person01, .person02 {
  align-items: flex-start;
}
.caption_balloon {
  position: relative;
  padding: 15px 30px;
  border-radius: 20px;
  max-width: 580px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.caption_balloon::after {
  content: "";
  position: absolute;
  bottom: -12px;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 6px;
}
.caption_balloon-left, .caption_balloon-right {
  position: relative;
  padding: 15px 30px;
  border-radius: 20px;
  max-width: 580px;
  margin: 0 auto;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: bold;
  background-color: #353535;
  text-align: center
}
.caption_balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -25px;
  margin-top: -15px;
  border: 8px solid transparent;
  border-left: 25px solid #353535;
  z-index: 0;
}
.caption_balloon-right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  margin-top: -15px;
  border: 8px solid transparent;
  border-right: 25px solid #353535;
  z-index: 0;
}
.caption-on {
  margin: 50px auto 10px;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: center;
}
.caption-on-span {
  background-color: rgba(255, 255, 255, 0.70);
  color: #353535;
  padding: 15px 30px;
  border-radius: 35px;
}
.caption-on-span2 {
  color: #353535;
  padding: 15px 0 8px;
  font-weight: bold;
  font-size: 20px;
  line-height: 2em;
  text-align: left;
}
@media screen and (max-width:1024px) {
  .caption-on {
    margin: 30px auto 10px;
    font-size: 1.8rem;
  }
  .caption-on-span {
    padding: 15px 20px;
  }
}
@media screen and (max-width:640px) {
  .caption-on {
    margin: 30px auto 10px;
    font-size: 1.28rem;
  }
  .caption-on-span {
    padding: 15px 7px;
  }
  .caption-on-span2 {
    line-height: 1.6em;
    text-align: center;
  }
}
.person01 .caption_balloon {
  background-color: #353535;
  border-radius: 30px;
}
.person01 .caption_balloon::after {
  left: 25px;
  border-color: #3C2C25 transparent transparent #353535;
}
.person02 .caption_balloon {
  background-color: #1E5F97;
  margin-top: 20px !important
}
.person02 .caption_balloon::after {
  right: 25px;
  border-color: #1E5F97 #1E5F97 transparent transparent;
}
.caption_balloon p + p {
  margin-top: 6px;
}
.person01 .caption_fg {
  width: 233px;
  margin-right: 15px;
}
.person02 .caption_fg {
  width: 210px;
  margin-left: 15px;
}
@media screen and (max-width:500px) {
  .caption_balloon {
    padding: 15px 18px;
    font-size: 1.3rem;
    letter-spacing: 0.15em;
  }
  .person01 .caption_balloon {
    border-radius: 20px;
  }
  .person02 .caption_balloon::after {
    right: 25px;
  }
}
/*	tab
------------------------------------------*/
.one_tab:hover {
  cursor: pointer;
}
.tab_content.is_show {
  display: block;
}
.tab_content {
  display: none;
}
/*--------------------------------------------------------
	header
--------------------------------------------------------*/
.header .inner {
  justify-content: space-between;
  align-items: center;
  max-width: inherit;
  padding: 12px 20px 13px;
  font-weight: 700;
}
.header.fixFade {
  position: fixed;
  z-index: 2000;
  background-color: #fff;
  box-shadow: 0px 3px 6px rgba(125, 55, 4, 0.16);
}
@media screen and (max-width:940px) {
  .header.fixFade {
    width: 82%;
    border-radius: 0 0 20px 0;
  }
  .header .logo {
    position: relative;
    z-index: 102;
  }
}
@media screen and (max-width:500px) {
  .header .inner {
    padding: 12px 15px 13px;
  }
}
.point-h2 {
  width: 100%;
  margin-top: 110px;
}
@media screen and (max-width:500px) {
  .point-h2 {
    margin-top: 50px;
  }
}
/*.logo---------------------------------*/
.header .logo_ep {
  width: 186px;
}
.logo_txt {
  margin-left: 15px;
  margin-bottom: -2px;
  font-size: 1.5rem;
  line-height: 1.0;
  vertical-align: middle;
}
.header .logo_mb {
  width: 121px;
  margin-left: 10px;
}
@media screen and (max-width:500px) {
  .header {
    min-height: 55px;
  }
  .header .logo_ep {
    width: 41.07vw;
    max-width: 154px;
  }
  .logo_txt {
    margin-left: 10px;
    margin-bottom: -2px;
    font-size: .9rem;
  }
  .header .logo_mb {
    width: 85px;
    margin-left: 5px;
  }
}
/*	gnav
------------------------------------------*/
.gnav {
  font-size: 1.4rem;
  line-height: 1;
}
.gnav a {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.gnav_list {
  display: flex;
  align-items: center;
}
.gnav_listItem a:hover {
  color: #1E5F97;
}
@media screen and (min-width:941px) {
  .gnav_listItem + .gnav_listItem {
    margin-left: 2.4vw;
  }
}
@media screen and (max-width:940px) {
  .gnav {
    visibility: hidden;
    /*display: none;*/
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    text-align: center;
    width: 100%;
    height: 100%;
    background: url("../../test/images/intro_bg02.jpg"), #f7f5f0;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .gnav.active {
    visibility: visible;
    /*display: block;*/
    opacity: 1;
  }
  .gnav_list {
    display: block;
    padding-top: 20%;
  }
  .gnav_listItem {
    width: 100%;
    position: relative;
    padding: 0;
  }
  .gnav_listItem + .gnav_listItem {
    margin-left: 0;
    margin-top: 10px;
  }
  .gnav_listItem a {
    display: block;
    padding: 20px 25px 20px;
    font-size: 1.8rem;
    text-align: center;
  }
}
/*	cv_btn
------------------------------------------*/
.header .cv_btn01 {
  margin-left: 2.4vw;
  width: 180px;
}
.header .cv_btn01 a {
  padding: 15px;
  font-weight: 500;
}
.header .cv_btn01 a::before {
  width: 20px;
  height: 15px;
}
.header .cv_btn01 a::after {
  width: 5px;
  height: 10px;
  right: 20px;
}
@media screen and (max-width:940px) {
  .header .cv_btn01 {
    width: 80%;
    max-width: 500px;
    margin: 5% auto;
  }
  .header .cv_btn01 a {
    font-size: 1.8rem;
    font-weight: 700;
  }
}
/*------------------------------------------
  humberger_btn
------------------------------------------*/
@media screen and (min-width:940px) {
  .humberger_btn {
    display: none;
  }
}
@media screen and (max-width:940px) {
  /* 通常時のMENUボタン体裁 */
  .humberger_btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 8000;
    width: 55px;
    height: 55px;
    margin: 0 0 0 auto;
    background-color: #1E5F97;
    border-radius: 0 0 0 20px;
    box-shadow: 0px 3px 6px rgba(125, 55, 4, 0.16);
    text-align: center;
    cursor: pointer
  }
  .humberger_btn span {
    display: block;
    position: relative;
    left: 50%;
    margin-left: -12px;
    width: 25px;
    border-bottom: 2px solid #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  .humberger_btn span:nth-child(1) {
    top: 27%;
  }
  .humberger_btn span:nth-child(2) {
    top: 43%;
  }
  .humberger_btn span:nth-child(3) {
    top: 60%;
  }
  /* colse時のMENUボタン体裁 */
  .humberger_btn.active span:nth-child(1) {
    top: 48%;
    left: 50%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .humberger_btn.active span:nth-child(2), .humberger_btn.active span:nth-child(3) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .humberger_btn.active span:nth-child(3) {
    top: 40%;
  }
}
/*--------------------------------------------------------
	main
--------------------------------------------------------*/
/*	mv
------------------------------------------*/
/*	issue
------------------------------------------*/
.issue {
  padding: 60px 0 75px;
}
.issue h2 {
  font-size: 3.4rem;
}
.issue .h2_sub_line {
  margin-bottom: 30px;
}
@media screen and (max-width:768px) {
  .issue {
    padding: 100px 0 75px;
  }
}
@media screen and (max-width:500px) {
  .issue h2 {
    font-size: 2.0rem;
  }
}
/*	issue_list ---------------------------*/
.issue_list {
  justify-content: space-between;
}
.issue_listItem {
  width: 32%;
  max-width: 343px;
  text-align: center;
}
.issue_balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 152px;
  padding: 15px 30px;
  background-color: #EDEDED;
  border-radius: 20px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.issue_balloon::after {
  content: "";
  position: absolute;
  bottom: -40px;
  right: 20%;
  display: block;
  width: 40px;
  height: 32px;
  background: url("../../test/images/issue_ic01.png") no-repeat top right / contain;
}
.issue_fg {
  position: relative;
  z-index: 1;
  margin-top: -50px;
}
@media screen and (max-width:1024px) {
  .issue_balloon {
    font-size: 1.4rem;
  }
}
@media screen and (max-width:768px) {
  .issue_list {
    max-width: 600px;
    margin: 0 auto;
  }
  .issue_listItem {
    position: relative;
    max-width: inherit;
    width: 100%;
  }
  .issue_listItem + .issue_listItem {
    margin-top: 35px;
  }
  .issue_balloon {
    width: 80%;
    min-height: 107px;
    height: auto;
    margin: 0 auto 0 0;
    padding: 15px 24px;
    font-size: 1.4rem;
  }
  .issue_listItem:nth-of-type(2n) .issue_balloon {
    margin: 0 0 0 auto;
  }
  .issue_balloon::after {
    display: none;
  }
  .issue_fg {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 25%;
  }
  .issue_listItem:nth-of-type(2n) .issue_fg {
    right: auto;
    left: 0;
  }
}
/*	solution
------------------------------------------*/
#solution {
  width: 100%;
  padding-top: 100px;
  position: relative;
  overflow: hidden;
}
#solution::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 50%;
  border-top: 60px solid #FFFFFF;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  transform: translateX(-50%);
}
.solution {
  position: relative;
  padding: 130px 0 100px;
  background: url("../../test/css/back.jpg") no-repeat center center
}
.solution .inner {
  max-width: 1400px;
}
.solution .h2 {
  margin-bottom: 30px;
}
.h2-p {
  margin-top: -5px;
}
.solution .h2 p:nth-of-type(3) {
  margin-top: -10px;
}
@media screen and (max-width:1024px) {
  .solution .h2 {
    margin-bottom: 40px;
  }
}
@media screen and (max-width:768px) {
  .solution {
    padding: 110px 0 10px;
    background: #f7f5f0
  }
  .solution .h2 {
    margin-bottom: 40px;
  }
  .solution .h2 p:nth-of-type(3) {
    margin-top: -3px;
  }
  .h2-p {
    margin-top: -15px;
  }
}
/*	.solution_list ---------------------------*/
.solution_list {
  position: relative;
  justify-content: space-between;
}
.solution_listItem {
  width: 28.5%;
}
.solution_listItem:nth-of-type(3n-1) {
  margin-top: 80px;
}
.solution_listItem_content {
  margin-top: -55px;
}
.solution_listItem_content h3 {
  margin-bottom: 15px;
}
.solution_listItem_content h3 img {
  width: 90%;
  margin: 0 5% 0 4%;
}
@media screen and (max-width: 1024px) {
  .solution_listItem {
    width: 80%;
    max-width: 350px;
  }
}
@media screen and (max-width:768px) {
  .solution_listItem {
    width: 80%;
    max-width: 450px;
    margin: 30px 8% 30px
  }
  .solution_listItem + .solution_listItem {
    margin-top: 10%;
  }
  .solution_listItem:nth-of-type(3n-1) {
    margin-top: 6%;
  }
  .solution_listItem_content h3 img {
    width: 90%;
    margin: 0 9% 5px;
  }
}
/*	intro
------------------------------------------*/
.intro {
  position: relative;
  padding-top: 100px;
}
.intro::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 5%;
  background: url("../../test/images/main_bg02.svg") no-repeat center bottom / contain;
}
.intro .h2 {
  margin-bottom: 20px;
}
@media screen and (max-width:768px) {
  .intro {
    padding-top: 60px;
  }
  .intro::after {
    background-size: 1020px;
  }
  .intro .h2 {
    margin-bottom: 0;
  }
}
/*	.intro_con01 -------------------------------*/
.intro_con01 {
  position: relative;
  margin-bottom: 70px;
  padding: 10.77% 5.56% 9.73%;
}
.intro_con01::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1920px;
  height: 636px;
  background: url("../../test/images/intro_bg01.png") no-repeat left center / auto;
}
.intro_con01::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -60px;
  left: 38.54%;
  display: block;
  width: 880px;
  height: 523px;
  background: url("../../test/images/main_im01.png") no-repeat bottom left / contain;
}
.intro_con01 .h3_line {
  color: #fff;
}
.intro_con01 .h3_line::after {
  background: #fff;
}
.intro_con01_box {
  position: relative;
  z-index: 1;
  max-width: 475px;
  width: 40%;
  margin-right: auto;
}
@media screen and (min-width:1441px) {
  .intro_con01::after {
    bottom: 50%;
    transform: translateY(60%);
    width: 61.67%;
    height: 34.32vw;
  }
  .intro_con01_box {
    max-width: inherit;
  }
}
@media screen and (max-width:1023px) {
  .intro_con01 {
    padding: 105px 5.35% 0;
  }
  .intro_con01::before {
    top: 0;
    transform: translateY(0);
    height: 570px;
  }
  .intro_con01::after {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 53.4vw;
  }
  .intro_con01_box {
    width: 100%;
    max-width: inherit;
    margin-bottom: 30px;
  }
}
@media screen and (max-width:768px) {
  .intro_con01 {
    margin-bottom: 0;
  }
}
@media screen and (max-width:500px) {
  .intro_con01::after {
    width: 153.8%;
    height: 81.4vw;
  }
}
/*	.intro_con02 -------------------------------*/
.intro_con02 {
  padding: 10vw 0 15.6vw;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 30%), url("../../test/images/intro_bg02.jpg");
}
.intro_con02 .inner {
  position: relative;
  max-width: 1400px; 
}
.intro_con02 .h3, .intro_con02 .txtBox {
  width: 44%;
  margin-left: auto;
}
.intro_con02 .h3 {
  display: block;
}
.intro_con02_fg01 {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  width: 49%;
}
.intro_con02_fg01 img {
  width: 100%;
}
.intro_con02 .txtBox {
  background-color: #fff;
}
@media screen and (max-width:1440px) {
  .intro_con02 .inner {
    max-width: 1150px;
	  padding: 0 5%;
  }
}
@media screen and (max-width:1023px) {
  .intro_con02 .h3, .intro_con02_fg01, .intro_con02 .txtBox {
    width: 100%;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
  }
  .intro_con02 .h3 {
    max-width: inherit;
    text-align: center;
  }
  .intro_con02_fg01 {
    position: static;
    transform: translateY(0);
    margin-bottom: 30px;
  }
}
/*	point
------------------------------------------*/
.h2-tittle {
  margin: 0 auto 20px;
  text-align: center;
  font-weight: bold
}
.point {
  padding-top: 130px;
  background: #EAF2F8;
}
.point .h2 {
  position: relative;
  z-index: 4;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}
@media screen and (max-width:1200px) {
  .point {
    padding-top: 9%;
  }
  .point .h2 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width:1023px) {
  .point .h2 {
    margin-bottom: -12%;
  }
  @media screen and (max-width:620px) {
    .point {
      padding-top: 80px;
    }
  }
}
/*	.point_list-------------------------------*/
.point_list {
  padding-bottom: 50px;
}
.point_listItem {
  position: relative;
  z-index: 3;
}
.point_listItem_content {
  position: relative;
  width: 60%;
  padding: 6% 0 7%;
}
.point_listItem:nth-of-type(2n) .point_listItem_content {
  margin-left: auto;
}
.point_listItem_content {
  align-items: flex-end;
  margin-bottom: 25px;
}
.point_listItem_content .lead img {
  flex-shrink: 0;
}
.point_listItem_content .lead {
  margin-left: 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
}
.lead_txt-box {
  background: rgba(251, 251, 251);
  padding: 10px 20px;
  margin-bottom: 15px;
  border-radius: 5px;
  border: solid 2px #1E5F97;
}
.lead_txt2 {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.point_listItem_content .txt {
  padding: 20px 25px;
  background-color: rgba(255, 255, 255, 0.74);
  border-radius: 20px;
}


.point_listItem_content .txt {
  padding: 20px 25px;
  background-color: rgba(255, 255, 255, 0.74);
  border-radius: 20px;
}

@media screen and (max-width:500px) {
	.point_listItem_content .txt {
		  padding: 10px 15px;
}}


@media screen and (min-width:1441px) {
  .point_listItem_content {
    padding: 0 0 9%;
    width: 62%;
  }
}
@media screen and (max-width:1200px) {
  .point_list {
    margin-top: 50px;
  }
  .point_listItem_content {
    padding: 3% 0 4%;
  }
}
@media screen and (max-width:1023px) {
  .point_listItem_content {
    width: 100%;
    max-height: 1400px;
    margin: 0 auto;
    padding: 0;
  }
}
@media screen and (max-width:500px) {
  .point_list {
    padding-bottom: 0;
  }
  .point_listItem_content .lead {
    display: block;
    margin-bottom: 20px;
  }
  .point_listItem_content .lead_txt {
    margin-left: 0;
    font-size: 1.4rem;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.box-relative {
  position: relative;
  height: auto;
  overflow: hidden;
}
.bottom-image-right {
  position: absolute;
  bottom: 120px; /* ← 下に配置 */
  right: 6%;
  width: 38%;
  height: auto;
}
.bottom-image-left {
  position: absolute;
  bottom: 120px; /* ← 下に配置 */
  left: 6%;
  width: 38%;
  height: auto;
}
/* === SP: 本文の下に画像を置き、上に約10pxだけ重ねる（確実版） === */
@media screen and (max-width: 1024px) {
  /* 親を縦並びに＆切れ防止 */
  .point_list .point_listItem .box-relative {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    overflow: visible !important; /* ← ここ重要 */
  }
  /* 本文を先に（上） */
  .point_list .point_listItem .box-relative .inner, .point_list .point_listItem .point_listItem_content {
    order: 1 !important;
    position: relative;
    z-index: 2; /* テキストを前面に */
    width: 100% !important;
    max-width: 880px;
    margin: 0 auto;
    max-height: none !important; /* 途切れ防止：以前の 1400px を無効化 */
  }
  /* 画像を後に（下）— figureでもimgでもマッチするよう両方指定 */
  .point_list .point_listItem .box-relative figure.bottom-image-right, .point_list .point_listItem .box-relative figure.bottom-image-left, .point_list .point_listItem .box-relative img.bottom-image-right, .point_list .point_listItem .box-relative img.bottom-image-left {
    order: 2 !important;
    position: static !important; /* PCの absolute をSPでは解除 */
    width: 50% !important;
    height: auto !important;
    margin: -10px auto 24px !important; /* ← 上に約10pxだけ重ねる */
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    z-index: 1 !important; /* 本文より背面 */
  }
  /* 画像タグのサイズ安全化（figure内imgもケア） */
  .point_list .point_listItem .box-relative figure img, .point_list .point_listItem .box-relative img.bottom-image-right, .point_list .point_listItem .box-relative img.bottom-image-left {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
}
@media screen and (max-width: 820px) {
  .point_list .point_listItem .box-relative figure.bottom-image-right, .point_list .point_listItem .box-relative figure.bottom-image-left, .point_list .point_listItem .box-relative img.bottom-image-right, .point_list .point_listItem .box-relative img.bottom-image-left {
    width: 75% !important;
	  
  }
  .bottom-image-left {
    top: -30px;
    bottom: 150px;
    left: inherit;
    right: 8%;
  }
  .bottom-image-right {
    top: -30px;
    bottom: 150px;
    right: 8%;
  }
}
/*	.detail_list-------------------------------*/
/* === アイコンを列幅いっぱいの正円にする（楕円化を防止）=== */
.detail_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px; /* 行間・列間とも 10px */
  list-style: none;
  padding: 0;
  margin: 30px 0 20px;
}
@media (max-width: 768px) {
  .detail_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.detail_listItem {
  text-align: center;
}
/* 正円ロック：擬似要素で高さ=幅。古いwidth/heightを無効化 */
.detail_listItem .ic {
  position: relative;
  box-sizing: border-box; /* 枠線込みで幅計算 */
  width: 100% !important; /* 列幅いっぱい */
  height: auto !important; /* 既存の固定高さを解除 */
  margin: 0 !important; /* 余白は grid-gap に任せる */
  border: 3px solid #1E5F97;
  border-radius: 50%;
  overflow: hidden; /* 円形でトリミング */
}
/* 正方形を作るコア */
.detail_listItem .ic::before {
  content: "";
  display: block;
  padding-top: 100%; /* ← 高さ = 幅（最強に安定） */
}
/* 画像をフィット（切り抜きはcoverで中央） */
.detail_listItem .ic img, .detail_listItem .circle-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 全面にフィット（必要なら contain に変更） */
  border-radius: 50%;
  display: block;
}
.detail_listItem .ttl {
  color: #1E5F97;
  line-height: 1.48;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width:1023px) {
  .detail_list {
    margin-bottom: 20px;
  }
}
@media screen and (min-width:501px) {
  .detail_listItem + .detail_listItem {
    margin-left: 0;
  }
}

/* === SP: 横2列／間隔10px／画像を列幅いっぱいに === */
@media (max-width: 768px) {
  /* Bootstrapのcol余白が効いていたら無効化 */
  .detail_list.col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .detail_list {
    display: grid;
    grid-template-columns: 1fr 1fr !important; /* 横2列固定 */
    gap: 10px !important; /* 行間・列間とも10px */
    padding: 0;
    margin: 0;
  }
  .detail_listItem {
    margin: 0 !important;
  }
  /* 枠（円）を列幅いっぱいに。正方形ロックで楕円化防止 */
  .detail_listItem .ic {
    position: relative;
    box-sizing: border-box;
    width: 80% !important; /* 列幅いっぱい */
    height: auto !important; /* 古い固定高さを解除 */
    margin: 0 auto !important; /* 余白はgapに任せる */
    border: 3px solid #1E5F97;
    border-radius: 50%;
    overflow: hidden;
  }
  .detail_listItem .ic::before {
    content: "";
    display: block;
    padding-top: 100%; /* 高さ＝幅 → 正方形 → 円 */
  }
  /* 画像を枠いっぱいにフィット */
  .detail_listItem .ic img, .detail_listItem .circle-img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover; /* きれいに全面表示（切り抜きあり） */
    display: block;
    border-radius: 50%;
  }
}

@media screen and (max-width:500px) {
	  .detail_list {
    padding: 0;
  }
  .detail_listItem {
    width: 100%;
  }
  .detail_listItem:nth-of-type(n+3) {
    margin-top: 15px;
  }
	  .detail_listItem .ic{
    width: 77% !important; /* 列幅いっぱい */
  }
}
/*	other
------------------------------------------*/
#other {
  width: 100%;
  padding-top: 100px;
  position: relative;
  overflow: hidden;
  margin-top: -10px
}
#other::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 50%;
  border-top: 60px solid #EAF2F8;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  transform: translateX(-50%);
}
.other {
  background: #F7F5F0;
  padding: 175px 0 70px;
}
.other .h3 {
  text-align: center;
  margin-bottom: 60px;
}
.other .h3_line:nth-of-type(1)::after {
  border-radius: 10px 0 0 10px;
}
.other .h3_line:nth-of-type(2)::after {
  border-radius: 0 10px 10px 0;
}
.other_list {
  justify-content: center;
  flex-wrap: wrap;
}
.other_listItem {
  margin: 5px;
  padding: 10px 20px;
  background-color: #fff;
  border-radius: 30px;
}
.other_capution {
  opacity: 0.6;
  text-align: right;
}
@media screen and (max-width:1211px) {
  .other {
    padding: 75px 0 10%;
  }
}
@media screen and (max-width:768px) {
  .other {
    padding: 2% 0 10%;
  }
  .other .h3 {
    margin-bottom: 35px;
  }
  .other_listItem {
    font-size: 1.6rem;
    padding: 7px 17px;
  }
}
@media screen and (max-width:500px) {
  .other {
    padding-top: 0%;
    padding-bottom: 50px;
  }
}
/*	flow
------------------------------------------*/
.sample01 {
  width: 100%;
  padding-top: 100px;
  position: relative;
  overflow: hidden;
}
.sample01::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 50%;
  border-top: 60px solid #F7F5F0;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  transform: translateX(-50%);
}
.flow {

}
@media screen and (max-width:1440px) {

}
@media screen and (max-width:768px) {

}
@media screen and (max-width:500px) {

}
/*	flow_list-------------------------------*/
.flow_list {
  max-width: 820px;
  margin: 0 auto 80px;
  counter-reset: number 0;
}
.flow_listItem {
  position: relative;
  z-index: 10;
  justify-content: center;
  align-items: flex-start;
}
.flow_listItem:nth-last-of-type(n+2)::before {
  content: "";
  position: absolute;
  bottom: -15%;
  left: 37px;
  z-index: 1;
  display: block;
  width: 0;
  height: calc(100% - 78px - 20px);
  border-right: 2px dotted #353535;
}
.flow_listItem + .flow_listItem {
  margin-top: 25px;
}
.flow_listItem .step {
  position: relative;
  z-index: 10;
  margin-right: 20px;
  padding-top: 5px;
}
.flow_listItem .step::before {
  counter-increment: number 1;
  content: "STEP "counter(number, decimal-leading-zero);
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1E5F97;
  text-align: center;
}
.flow_listItem .step .ic {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 68px !important;
  height: 68px !important;
  background-color: #1E5F97;
  border-radius: 50%;
  box-shadow: 0 2px 3px rgba(125, 55, 4, 0.26);
}
.flow_listItem .step .ic img {
  width: 50px !important;
  height: 50px !important;
}
.flow_listItem_content {
  width: calc(100% - 78px);
}
.flow_listItem_content .ttl {
  margin-bottom: 10px;
  font-size: 2.4rem;
  font-weight: 700;
}
.flow_listItem_content .txtBox {
  padding: 20px 25px;
  font-size: 1.4rem;
  box-shadow: 0 2px 3px rgba(125, 55, 4, 0.26);
}
@media screen and (max-width:768px) {
  .flow_list {
    margin-bottom: 50px;
  }
	

}
@media screen and (max-width:500px) {
  .flow_listItem + .flow_listItem {
    margin-top: 20px;
  }
  .flow_listItem:nth-last-of-type(n+2)::before {
    bottom: -12%;
  }
  .flow_listItem_content .ttl {
    margin-bottom: 6px;
    font-size: 1.8rem;
  }
  .flow_listItem_content .txtBox {
    padding: 15px;
    font-size: 1.2rem;
  }
}
/*	flow_caption-------------------------------*/
.flow_caption {
  position: relative;
}
.flow_caption .person01 {
  justify-content: flex-end;
  flex-direction: row-reverse;
}
.flow_caption .person01 .caption_fg {
  margin-top: 40px;
  margin-bottom: 35px;
}
.flow_caption .person02 {
  position: absolute;
  top: 23%;
  right: 0;
  flex-direction: row-reverse;
  width: 100%;
}
.flow_caption .person02 .caption_balloon {
  width: calc(100% - 245px - 230px);
}
@media screen and (max-width:768px) {
  .flow_caption {
    max-width: 600px;
    margin: 0 auto;
  }
  .flow_caption .person01 {
    align-items: center;
  }
  .flow_caption .person02 {
    position: static;
    align-items: center;
    margin-top: 0;
  }
  .flow_caption .caption_fg {
    width: 35%;
  }
  .flow_caption .person01 .caption_fg {
    margin-top: 0;
    margin-bottom: 0;
  }
  .flow_caption .caption_balloon {
    width: 65% !important;
  }
  .flow_caption .person02 .caption_balloon {
    margin-top: 0;
  }
  .flow_caption .caption_balloon::after {
    bottom: 16px;
    border-width: 8px 10px;
  }
  .flow_caption .person01 .caption_balloon::after {
    left: -18px;
    border-color: transparent #3C2C25 transparent transparent;
  }
  .flow_caption .person02 .caption_balloon::after {
    right: -18px;
    border-color: transparent transparent transparent #1E5F97;
  }
}
@media screen and (max-width:500px) {
  .flow_caption .person02 {
    margin-top: 15px;
  }
}
/*	faq
------------------------------------------*/
.faq {
	margin-top: 10%;
  padding: 60px 0;
  background: #f7f5f0;
}
/*	tab-------------------------------*/
.faq .tabBox {
  justify-content: center;
  margin-bottom: 35px;
}
.faq .tabBox .one_tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 290px;
  width: 30%;
  min-height: 66px;
  padding: 10px 20px 10px;
  border: 2px solid #1E5F97;
  border-radius: 33px;
  color: #1E5F97;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.faq .tabBox .one_tab::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translateX(-50%);
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 16px 0;
  border-color: #1E5F97 transparent transparent transparent;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.faq .tabBox .one_tab.select {
  background-color: #1E5F97;
  color: #fff;
}
.faq .tabBox .one_tab:hover::after, .faq .tabBox .one_tab.select::after {
  bottom: -16px;
  opacity: 1;
}
.faq .tabBox .one_tab + .one_tab {
  margin-left: 2%;
}
@media screen and (max-width:768px) {
  .faq .tabBox {
    margin-bottom: 20px;
  }
}
@media screen and (max-width:500px) {
  .faq .tabBox .one_tab {
    width: 33%;
    font-size: 1.2rem;
    min-height: 53px;
    padding: 10px 8px 10px;
  }
  .faq .tabBox .one_tab::after {
    border-width: 11px 12px 0;
    bottom: -10px;
  }
  .faq .tabBox .one_tab:hover::after, .faq .tabBox .one_tab.select::after {
    bottom: -12px;
  }
}
/*	faq_list-------------------------------*/
.faq_list {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 4.6%;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.faq_listItem {
  animation: show 1.5s ease 0s;
}
.faq_listItem + .faq_listItem {
  margin-top: 20px;
}
.faq_q {
  position: relative;
  padding: 34px 35px 30px 88px;
  background: #94C2E9;
  border-radius: 20px 20px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.faq_q:before {
  content: "Q";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: auto;
  padding-bottom: 5px;
  background-color: #1E5F97;
  font-size: 2.0rem;
  color: #ffffff;
  line-height: 1;
  border-radius: 50%;
}
.faq_a {
  padding: 23px 30px 27px;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
  border: 2px solid #94C2E9;
}
@media screen and (max-width:768px) {
  .faq_q {
    padding: 20px 40px 18px 68px;
    font-size: 1.6rem;
  }
  .faq_q:before {
    left: 12px;
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
  }
  .faq_a {
    padding: 17px 20px 16px;
  }
}
@media screen and (max-width:500px) {
  .faq_listItem + .faq_listItem {
    margin-top: 15px;
  }
  .faq_q {
    padding: 15px 15px 15px 60px;
    font-size: 1.4rem;
  }
  .faq_q:before {
    left: 10px;
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
  }
  .faq_a {
    padding: 15px;
  }
}
/*	faq_caption-------------------------------*/
.faq_caption {
  margin-top: 35px;
}
.faq_caption .person02 {
  justify-content: center;
}
.faq_caption .person02 .caption_balloon {
  max-width: 678px;
	font-weight: bold
}
.faq_caption .person02 .caption_fg {
  width: 234px;
}
@media screen and (max-width:768px) {
  .faq_caption .person02 {
    flex-direction: column;
    align-items: center;
  }
  .faq_caption .person02 .caption_balloon {
    max-width: 550px;
    margin-bottom: 10px;
  }
  .faq_caption .person02 .caption_balloon::after {
    right: auto;
    left: 30%;
  }
}
/*	cv
------------------------------------------*/
.cv {
  padding-bottom: 50px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(247, 245, 240, 1) 30%, rgba(247, 245, 240, 1) 100%);
}
/*	cv_con01-------------------------------*/
.cv_con01 {
  position: relative;
  margin-bottom: 6%;
  padding: 10.77% 5.56% 9.73%;
}
.cv_con01::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1920px;
  height: 521px;
  background: url("../../test/images/cv_bg01.png") no-repeat left top / auto;
}
.cv_con01::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -60px;
  ;
  left: calc(5.56% + 475px);
  left: 38.54%;
  ;
  display: block;
  width: 880px;
  height: 523px;
  background: url("../../test/images/main_im01.png") no-repeat bottom left / contain;
}
.cv_con01_box {
  position: relative;
  z-index: 1;
  max-width: 475px;
  margin-right: auto;
}
.cv_lead {
  margin-bottom: 30px;
  color: #fff;
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.45;
}
.cv_lead_txt {
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 1.875;
}
@media screen and (min-width:1441px) {
  .cv_con01::after {
    bottom: 50%;
    transform: translateY(60%);
    width: 61.67%;
    height: 34.32vw;
  }
  .cv_con01_box {
    max-width: inherit;
    width: 40%;
  }
}
@media screen and (max-width:1240px) {
  .cv_con01::after {
    left: 475px;
    bottom: -80px
  }
}
@media screen and (max-width:1023px) {
  .cv_con01 {
    padding: 115px 5.35% 0;
  }
  .cv_con01::before {
    top: 0;
    left: auto;
    right: 0;
    transform: translateY(0);
    height: 517px;
  }
  .cv_con01::after {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 53.4vw;
  }
  .cv_con01_box {
    width: 100%;
    max-width: inherit;
    margin-bottom: 30px;
  }
}
@media screen and (max-width:768px) {
  .cv_con01 {
    margin-bottom: 6%;
  }
}
@media screen and (max-width:500px) {
  .cv_con01::before {
    right: -140%;
  }
  .cv_con01::after {
    width: 100%;
  }
  .cv_con01_box {
    margin-bottom: 20px;
  }
  .cv_lead {
    margin-bottom: 20px;
  }
  .cv_lead_small {
    font-size: 2.5rem;
  }
  .cv_lead_txt {
    font-size: 1.4rem;
  }
}
/*	cv_btnArea-------------------------------*/
@media screen and (min-width:501px) {
  .cv .cv_btnArea > [class*="cv_btn"] {
    max-width: inherit;
  }
  .cv .cv_btn01 a, .cv .cv_btn02 a {
    padding: 34px 80px;
    font-size: 2.4rem;
  }
  .cv .cv_btn01 a::before {
    width: 50px;
    height: 37px;
  }
  .cv .cv_btn02 a::before {
    width: 35px;
    height: 44px;
  }
  .cv .cv_btn01 a::after, .cv .cv_btn02 a::after {
    right: 6%;
    width: 16px;
    height: 20px;
  }
  .cv .cv_btn_balloon {
    padding: 11px 30px 12px;
    font-size: 1.6rem;
  }
}
/*	cv_telArea-------------------------------*/
.cv_telArea {
  margin-top: 40px;
  text-align: center;
}
.cv_telArea .ttl {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.cv_telBtn {
  width: 80%;
  max-width: 295px;
  margin: 0 auto;
}
.cv_telBtn a {
  display: block;
  padding: 11px 20px 14px;
  background-color: #fff;
  border-radius: 40px;
  box-shadow: 0 3px 6px rgba(125, 55, 4, 0.16);
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.cv_telBtn .number {
  font-size: 2.4rem;
  font-weight: 700;
}
.cv_telBtn .number::before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 23px;
  margin-right: 7px;
}
.cv_telBtn .caption {
  color: #999089;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.cv_telBtn .caption .bold {
  font-size: 1.0rem;
  font-weight: 700;
}
.cv_telBtn .caption .small {
  font-size: 0.9rem;
}
@media screen and (min-width:1025px) {
  .cv_telBtn a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width:768px) {
  .cv_telArea .ttl {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
@media screen and (max-width:500px) {
  .cv_telArea .ttl {
    font-size: 1.5rem;
  }
}
/*--------------------------------------------------------
	footer
--------------------------------------------------------*/
.footer {
  padding: 35px 0;
  color: #333333
}
.footer a {
  color: #333333
}
.mn_footer {
  justify-content: space-between;
  align-items: center;
}
.mn_gnav {
  justify-content: center;
  flex-wrap: wrap;
  margin-left: 20px;
}
.mn_gnavItem {
  position: relative;
}
.mn_gnavItem:nth-of-type(n+2)::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 5px;
  width: 1px;
  height: 17px;
  background-color: #333;
}
.mn_gnavItem + .mn_gnavItem {
  margin-left: 30px;
}
.logo_pp {
  margin-left: 20px;
}
.copyRight {
  margin-top: 10px;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width:1024px) {
  .copyRight {
    margin-top: 20px;
  }
}
@media screen and (max-width:768px) {
  .mn_footer {
    flex-direction: column;
  }
  .mn_gnav, .logo_pp {
    margin-left: 0;
    margin-top: 30px;
  }
}
@media screen and (max-width:500px) {
  .mn_gnavItem {
    width: 100%;
    margin-left: 30px;
  }
  .mn_gnavItem:nth-of-type(n+1)::before {
    content: "";
    position: absolute;
    left: -15px;
    top: 7px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #333;
    border-width: 5px 0 5px 7px;
    background-color: transparent;
  }
  .mn_gnavItem + .mn_gnavItem {
    margin-top: 10px;
  }
}
.back-vup {
  position: relative;
  background-size: contain cover
}
.top-main {
  background-size: 100%;
  height: auto;
  padding: 20px 0 40px;
  margin-top: 50px
}
.top-main-message {
  height: auto;
}
.ganka-vup-tittle {
  width: 30%;
  margin: 10px auto 40px;
}
.ganka-vup-pic {
  width: 55%;
  margin: -20px auto 30px;
  padding-bottom: 0
}
@media screen and (max-width:768px) {
  .top-main {
    height: auto;
    padding: 10px 0 40px;
    margin-top: 0px
  }
  .ganka-vup-tittle {
    width: 95%;
    margin: 10px auto 40px;
  }
  .ganka-vup-pic {
    width: 90%;
    margin: -20px auto 0px;
    padding-bottom: 0px
  }
}



.button4 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    width: 320px;
    padding: 10px 25px;
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: linear-gradient(to top, rgb(5, 130, 174), #1E5F97);
	  color: #fff;
	  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    border-radius: 9999px;
	  vertical-align:middle; 
    text-align: center;
  z-index: 1000; /* かぶさり防止 */
}
.button4 a {
  position: relative;
  z-index: 1001;
}
.button4 a:hover {
	  color: #fff;
	  opacity: 0.5;
}
.button4 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button4 a:hover:after {
    border-color: #fff;
}
