@charset "utf-8";

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 基本設定
****************************************/
html {
  font-size: 62.5%;
}

body {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #1E1E1E;
  font-family: 'Noto Sans JP', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  vertical-align: middle;
}

p {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #333;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.p-pagetop{display:none;}

@media screen and (max-width:768px) {
header{
background: #fff;
height: 70px;
}
}


/* CLEAR-FIX */
.clearfix {
  zoom: 1;
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}


/*共通-----------------------------------------------------------------------------------*/
.flex {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.fl_between {
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.inner {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}
.contentWrap {
  margin-bottom: 80px;
}
.sectionTtl {
  font-size: 36px;
  line-height: 1.5;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}
.contentTtl {
  align-items: center;
  margin-bottom: 40px;
}
.contentTtl div {
  display: inline-block;
  font-size: 25px;
  color: #fff;
  padding: 10px 0;
  background: #429cba;
  line-height: 1.5em;
  width: 60px;
  text-align: center;
}
.contentTtl h2 {
  font-size: 30px;
  margin-left: 20px;
  line-height: 1.5;
}
.rightImg p:first-child {
  width: 50%;
}
.rightImg p:last-child {
  width: 45%;
}
.rightImgS p:first-child {
  width: 63%;
}
.rightImgS p:last-child {
  width: 35%;
}
.leftImg p:first-child {
  width: 45%;
  margin-top: 10px;
}
.leftImg p:last-child {
  width: 50%;
  margin-top: 10px;
}
.leftImgS p:first-child {
  width: 38%;
}
.leftImgS p:last-child {
  width: 60%;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
/* #main p {
  line-height: 2;
} */
.contentBox, .contentBox3 {
  flex-wrap: wrap;
  justify-content: space-between;
}
.contentBox li {
  position: relative;
  width: 48%;
  background: #F5F5F5;
  padding: 50px 20px 20px 20px;
  margin-top: 50px;
}
.contentBox li div {
  position: absolute;
  top: 0px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-weight: bold;
  font-size: 60px;
}
.contentBox li h3 {
  font-size: 23px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
}
.contentBox li h4 {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}
.contentBox li h4 span {
  margin-right: 10px;
  display: inline-block;
}
.contentBox li p {
  background: #fff;
  width: 100%;
  padding: 24px 15px;
  margin: 0 auto;
}
.contentBox2 > div {
  width: 48%;
}
.contentBox2Wrapper {
  border: 1px solid #333;
}
.contentBox2Wrapper > p {
  background: #F5F5F5;
  font-weight: bold;
  padding: 8px;
  font-size: 20px;
  border-bottom: 1px solid #333;
  text-align: center;
}
.contentBox2Inner {
  padding: 30px;
  align-items: center;
}
.contentBox2Inner ul li {
  font-weight: bold;
  line-height: 2;
}
.contentBox2Inner ul {
  width: 60%;
}
.contentBox2Inner p {
  width: 30%;
}
.contentBox3 li {
  position: relative;
  width: 48%;
  background: #B8B8B8;
  padding: 30px 20px 20px 20px;
  align-items: flex-end;
  border-radius: 30px;
}
.contentBox3 li h3 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
}
.contentBox3 li div {
  background: #fff;
  width: 100%;
  padding: 20px 15px;
  margin: 0 auto;
}
.contentBox3 li div p {
  font-size: 15px;
}
.contentBox3 li div p:last-child {
  text-align: center;
  margin-top: 10px;
}
.contentBox3 li div p img {
  width: 150px;
}
.contentBox3 li div .security img {
  width: 90px;
  margin: 0 auto;
}
.contentBox4 {
  background: #F5F5F5;
  padding: 30px;
}
.contentBox4 li {
  background: #fff;
  padding: 25px 30px;
  align-items: center;
  margin-bottom: 30px;
}
.contentBox4 li:last-child {
  margin-bottom: 0;
}
.contentBox4 li div {
  width: 95%;
  margin-right: 30px;
}
.contentBox4 h3 {
  font-size: 26px;
  font-weight: bold;
  color: #429cba;
  margin-bottom: 10px;
}
.contentBox4 h4 {
  font-size: 20px;
  color: #333;
  margin-bottom: 10px;
}
.caution {
  border: 1px solid #df600f;
  align-items: center;
  padding: 15px 40px;
}
.caution > p {
  width: 30%;
  margin-right: 30px;
}
.caution h3 {
  color: #df600f;
  font-size: 30px;
}
.shadow {
  box-shadow: 5px 5px 8px 5px #E8E8E8;
}
.pc_only {
  display: block;
}
.sp_only {
  display: none;
}
.pc_only1075 {
  display: block;
}
.sp_only1075 {
  display: none;
}
.only375 {
  display: none;
}
.inline_pc {
  display: inline;
}
.inline_sp {
  display: none;
}

/*フォント*/
.serif {
  font-family: 'Noto Serif JP', serif;
}
.questrial {
  font-family: 'Questrial', sans-serif;
}

/*ボタン*/
.soudanBtn a {
  display: block;
  position: relative;
  width: 380px;
  border-radius: 50px;
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  line-height: 60px;
  /* background: url(../img/common/btn_bg.jpg) center / cover no-repeat; */
  background: #56b1cf;
  text-align: center;
  margin: 0 auto;
  letter-spacing: 3px;
  transition: .3s;
}
.soudanBtn a:hover {
transform: translateY(3px);
background: #fff;
color: #56b1cf;
/* border: 1px solid #051843; */
}
.soudanBtn .shadow:hover {
box-shadow: 2px 2px 5px 2px #E8E8E8;
}
.soudanBtn .f28 {
  font-size: 26px;
}
/* .soudanBtn .f25 {
  font-size: 25px;
} */
/* .soudanBtn a::after {
  content: url(../img/common/btn_arrow.png);
  display: inline-block;
  position: absolute;
  right: 8%;
  transition: .3s;
}
.soudanBtn a:hover::after {
  right: 6%;
} */

/********************1125px以下のとき*********************/
@media screen and (max-width:1125px) {
  p {
    font-size: 16px;
  }  
  .pc_only1075 {
    display: none;
  }  
  .sp_only1075 {
    display: block;
  }
  .sectionTtl {
    font-size: 26px;
  }
}

/********************960px以下のとき*********************/
@media screen and (max-width:960px) {
  .contentTtl {
    /* margin-bottom: 30px; */
  }
  .contentTtl div {
    font-size: 22px;
    padding: 12px 15px;
  }
  .contentTtl h2 {
    font-size: 30px;
  }
  .caution h3 {
  font-size: 26px;
  line-height: 1.4em;
}
}

/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .contentBox {
    flex-direction: column;
  }
  .contentBox li {
    width: 100%;
    padding: 30px 10px 20px 10px;
    margin-top: 40px;
  }
  .contentBox li div {
    font-size: 50px;
  }
  .contentBox li h3 {
    font-size: 20px;
  }
  .contentBox li p {
    padding: 15px 10px;
  }
  .caution {
  padding: 15px 20px;
  }
  .caution > p {
    width: 40%;
    margin-right: 20px;
  }
  .rightImg {
    flex-direction: column;
  }
  .rightImg p:first-child {
    width: 100%;
  }
  .rightImg p:last-child {
    width: 100%;
    margin: 20px auto 0;
  }
  .contentTtl h2 {
    font-size: 22px;
    line-height: 1.2em;
  }
  .contentBox3 {
    display: block;
  }
  .contentBox3 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .contentBox3 li div {
    background: #fff;
    width: 100%;
    padding: 20px 15px;
    margin: 0 auto;
  }
  .contentBox4 {
    padding: 20px;
  }
  .contentBox4 li {
    display: block;
    padding: 20px 20px;
    margin-bottom: 20px;
  }
  .contentBox4 li div {
    width: 100%;
    margin-right: 0px;
  }
  .contentBox4 li > p {
    width: 150px;
    margin: 0 auto;
  }
  .contentBox4 h3 {
    font-size: 22px;
    margin-bottom: 5px;
  }
  .contentBox4 h4 {
    font-size: 16px;
  }
  .leftImg, .leftImgS {
    flex-direction: column-reverse;
  }
  .leftImg p:first-child {
    width: 100%;
    margin-top: 20px;
  }
  .leftImg p:last-child {
    width: 100%;
  }
  .leftImgS p:first-child {
    width: 100%;
    text-align: center;
    margin-top: 20px;
  }
  .leftImgS p:last-child {
    width: 100%;
  }
  .contentBox2Inner {
    display: block;
  }
  .contentBox2Inner ul {
    width: 100%;
  }
  .contentBox2Inner p {
    width: 100px;
    margin: 20px auto 0;
  }
  /*共通---------------------------------*/
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .inline_pc {
    display: none;
  }

  .inline_sp {
    display: inline;
  }
  /*ボタン----------------------------------*/
  .soudanBtn a {
    display: block;
    width: 95%;
    height: 60px;
    font-size: 15px;
    line-height: 60px;
    letter-spacing: 4px;
  }
  .soudanBtn .f28 {
    font-size: 22px;
  }
  /* .soudanBtn .f25 {
    font-size: 18px;
  } */
}
/********************650px以下のとき*********************/
@media screen and (max-width:650px) {
  .rightImgS {
    flex-direction: column;
  }
.rightImgS p:first-child {
  width: 100%;
}
.rightImgS p:last-child {
  width: 100%;
  margin: 20px auto 0;
}
.caution > p {
  display: none;
}
.contentBox2 {
  display: block;
}
.contentBox2 > div {
  width: 100%;
  margin-bottom: 10px;
}

}
/********************414px以下のとき*********************/
@media screen and (max-width:414px) {
  .soudanBtn a {
    display: block;
    width: 95%;
    height: 60px;
    font-size: 15px;
    line-height: 60px;
    letter-spacing: 4px;
    text-align: left;
    padding-left: 5%;
  }
  .soudanBtn .f30 {
    font-size: 22px;
  }
  .soudanBtn .f25 {
    font-size: 18px;
  }
  .soudanBtn a::after {
    right: 3%;
  }
}
/********************375px以下のとき*********************/
@media screen and (max-width:375px) {
  .only375 {
    display: block;
  }
}
/*共通ここまで------------------------------------------------------------------------*/
/*ヘッダー------------------------------------------------------------------------*/
/* header {
  position: relative;
} */
.txth1 {
  width: 100vw;
  background: #429cba;
}
.txth1 h1 {
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 4px 0;
}
.headerWrap {
  width: 100%;
  position: fixed;
  background: #fff;
  z-index: 10000;
}
.headerLogo img {
  width: 150px;
  position: absolute;
  top: 0;
  z-index: 1000;
  }
  .headerRight {
    width: 100%;
    padding-left: 150px;
  }
.headerCont {
  align-items: center;
  margin-top: 5px;
  line-height: 25px;
}
.headerContContact {
margin-left: auto;
}
/* .headerCont h1 {
  font-size: 12px;
} */
.headerTel {
  align-items: center;
}
.headerTel a {
  text-decoration: none;
  color: #429cba;
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0;
}
.headerTel span img {
  width: 22px;
  padding-bottom: 4px;
}
.headerTel:hover {
  opacity: 0.8;
}
.headerBtn {
  position: relative;
  display: block;
  text-decoration: none;
  color: #fff;
  /* background: #1D2663; */
  background-image: linear-gradient(90deg, rgba(66, 156, 186, 1), rgba(82, 177, 182, 1));
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 6px 25px;
  margin-left: 20px;
  border-radius: 30px;
  transition: .3s;
  border: 1px solid #429cba;
}
.headerBtn:hover {
  color: #429cba;
  background: #fff;
}
/* .headerBtn::after {
  content: url(../img/common/arrow_1.png);
  display: inline-block;
  position: absolute;
  top: 5%;
  right: 20px;
  transition: .3s;
} */
.headerBtn:hover::after {
  right: 15px;
}
.headerNav > ul {
  justify-content: flex-end;
  padding: 15px 0;
}
.headerNav ul li a {
  text-decoration: none;
  padding: 0 28px;
  color: #333;
  font-size: 15px;
}
.headerNav ul li {
  border-right: 1px solid #707070;
}
.headerNav ul li:last-child {
  border-right: none;
}
.dropdownWrap {
  position: relative;
  padding-right: 10px;
}
.dropdownWrap::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 20px;
  width: 9px;
  height: 9px;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
  transform: translate3d(0, 0, 0) rotate(45deg);
}
.dropdown {
  width: 100%;
  background: #fff;
  position: absolute;
  display: none;
}
.dropdown li {
  border-top: 1px solid #B9B9B9;
}
.headerNav .dropdown li {
  text-align: center;
  border: none;
	border-bottom: 1px solid #ddd;
}
.headerNav .dropdown li a {
  display: block;
  padding: 15px 0;
  font-size: 15px;
}
.headerNav a:hover {
  opacity: 0.7;
}
.fixedBtn {
  width: 55px;
  position: fixed;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  z-index: 990;
}
.fixedBtn a:hover {
  opacity: 0.8;
}
.spFixed {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
}
.open .spFixed {
  display: flex;
  flex-direction: row-reverse;
}
.spFixedBtn {
  width: 70px;
  height: 70px;
  background: #fff;
  text-align: center;
}
.spFixedBtn a {
  display: block;
  text-decoration: none;
}
.spFixedBtn p {
  font-size: 11px;
}
#nav-toggle {
  cursor: pointer;
}
#nav-toggle div {
  position: relative;
  width: 70px;
  height: 70px;
  background: #fff;
  box-shadow:-2px 2px 3px #eee;
}
#nav-toggle span {
  position: absolute;
  width: 25px;
  height: 2px;
  background: #333;
  left: 23px;
}
#nav-toggle span:nth-child(1) {
  top: 28px;
}
#nav-toggle span:nth-child(2) {
  top: 35px;
}
#nav-toggle span:nth-child(3) {
  top: 42px;
}
.spFixedBtn img {
  display: inline-block;
  width: 25px;
  padding: 10px 0 3px;
}
#gloval-nav {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  height: 100vh;
  padding-top: 130px;
  visibility: hidden;
}
#gloval-nav ul li a {
box-sizing: border-box;
  text-decoration: none;
  display: inline-block;
  padding: 15px 10px;
  width: 100%;
  border-bottom: 1px solid #B9B9B9;
  color: #333;
  font-size: 15px;
}
#gloval-nav ul li a:hover {
  opacity: 0.8;
  color: #429cba;
  background: rgba(66,156,186,.2);
}
.gnavInner {
  width: 90%;
  margin: 0 auto;
}
.gnavMin {
  margin-left: 20px;
}
.open #gloval-nav {
  visibility: visible;
  z-index: 990;
  overflow: scroll;
}
.gnavTelWrap {
  text-align: center;
  padding: 10px 0;
}
.gnavTel {
  align-items: center;
  justify-content: center;
}
.gnavTel img {
  width: 26px;
  height: 26px;
}
.gnavTel a {
  text-decoration: none;
    color: #1D2663;
    font-size: 24px;
}
.gnavTel:hover{
  opacity: 0.8;
}
/********************1125px以下のとき*********************/
@media screen and (max-width:1125px) {
  .headerLogo img {
    width: 120px;
    position: fixed;
    top: 20px;
    left: 20px;
    }
  .open .headerLogo img {
    width: 120px;
  }
  .headerCont {
    display: none;
  }
  .headerNav {
    display: none;
  }
    .fixedBtn {
    display: none;
  }
}
@media screen and (max-width:768px) {
#gloval-nav{
	padding-top: 80px;
}
.headerLogo img{
	width: 310px;
	left: 10px;
}
.open .headerLogo img {
    width: 180px;
  }

}

/*ヘッダーここまで------------------------------------------------------------------------*/
/*メインビジュアル------------------------------------------------------------------------*/
.mv {
  position: relative;
  padding-top: 100px;
}
.mvBtn a {
  position: absolute;
  top: 70%;
  left: 18%;
  text-decoration: none;
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.2em;
  border: 1px solid #fff;
  padding: 10px 95px;
  border-radius: 50px;
  transition: .3s;
}
/* .mvBtn a::after {
  content: url(../img/common/btn_arrow.png);
  display: inline-block;
  position: absolute;
  width: 30px;
  top: 15%;
  right: 50px;
  transition: .3s;
} */
.mvBtn a:hover {
  background: #fff;
  color: #051843;
}
/********************1125px以下のとき*********************/
@media screen and (max-width:1125px) {
  .mv {
    padding-top: 20px;
  }
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .mvBtn a {
    top: 82%;
    left: 5%;
    color: #fff;
    font-size: 16px;
    padding: 10px 60px 10px 20px;
  }
  .mvBtn a::after {
    content: url(../img/common/arrow_1.png);
    display: inline-block;
    position: absolute;
    width: px;
    top: 16%;
    right: 20px;
  }
}
/*メインビジュアルここまで------------------------------------------------------------------------*/
/* トップテキスト---------------------------------------------------------------- */
/*
.top_ttl {
  margin-top: 80px;
}
*/
.top_ttl_area {
  background: #EDF7FF;
  text-align: center;
  margin-bottom: 60px;
}
.top_ttl_inner {
  position: relative;
}
.staff01 {
  position: absolute;
  width: 200px;
  bottom: 0;
  right: 0;
}
.top_ttl_area h2 {
  position: relative;
  color: #051843;
  font-size: 26px;
  padding: 50px 0;
  line-height: 1.5;
  z-index: 10;
}
.top_ttl_area h2 strong {
  font-size: 33px;
  font-weight: bold;
  background:linear-gradient(transparent 60%, #ff6 60%);
}
.top_ttl_txt {
  margin-bottom: 60px;
}
.btnList01 {
  width: 100%;
  border-radius: 12px;
  border: solid 1px #E4E4E4;
  margin-bottom: 32px;
  overflow: hidden;
}
.btnList01_img {
  width: 40%;
  height: inherit;
}
.btnList01_txt {
  width: 60%;
}
.btnList01_txtWrap {
  width: 70%;
  margin: 40px auto;
}
.btnList01_txt h3 {
  font-weight: bold;
  font-size: 28px;
  margin-bottom: 20px;
}
.btnList01_txt p {
  margin-bottom: 60px;
}
.colorBtn {
  position: relative;
  text-decoration: none;
  display: block;
  width: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 20px 40px 20px 20px;
  border-radius: 10px;
  line-height: 1.2;
  transition: .1s;
}
.colorBtn:hover {
  transform: translateY(5px);
  box-shadow: 2px 2px 4px 2px #e8e8e8;
}
.colorBtn::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 0 11px 10px;
  border-color: transparent transparent transparent #ffffff;
  position: absolute;
  right: 22px;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.orange {
  background: #FF9900;
}
.green {
  background: #92B729;
}
.toptxtList01_souzoku,
.toptxtList01_isanbunkatu {
  background: #FFFAF1;
}
.toptxtList01_souzoku h3 {
  color: #FF9900;
}
.toptxtList01_isanbunkatu h3 {
  color: #92B729;
}
.toptxtList01_souzoku .btnList01_img {
  background: url(../img/top/toptxt_01.jpg) center / cover no-repeat;
}
.toptxtList01_isanbunkatu .btnList01_img {
  background: url(../img/top/toptxt_02.jpg) center / cover no-repeat;
}
.btnList02_wrap {
  flex-wrap: wrap;
  justify-content: space-between;
}
.btnList02 {
  width: calc(50% - 10px);
  border: solid 1px #E4E4E4;
  border-radius: 12px;
  padding: 45px 0;
  margin-bottom: 20px;
}
.btnList02_inner {
  width: 80%;
  margin: 0 auto;
}
.btnList02_img {
  position: relative;
  z-index: 1;
}
.btnList02_img img {
  width: 145px;
  margin-right: 8px;
}
.btnList02_txt {
  width: calc(100% - 160px);
	font-size:15px;
	line-height:1.6;
}
.btnList02 .colorBtn {
  margin-top: -25px;
}
/********************1000px以下のとき*********************/
@media screen and (max-width:1000px) {
  .btnList02 .colorBtn {
    margin-top: 0px;
  }
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
/*
  .top_ttl {
    margin-top: 60px;
  }
*/

  .top_ttl_area {
    margin-bottom: 40px;
  }

  .top_ttl_area h2 {
    font-size: 18px;
    padding: 20px 0;
  }
  .staff01 {
    width: 120px;
  }

  .top_ttl_area h2 strong {
    font-size: 24px;
  }
  .top_ttl_area_sub {
    margin-bottom: 10px;
  }
  .top_ttl_area h2 .top_ttl_area_sub strong {
    font-size: 20px;
  }

  .top_ttl_txt {
    margin-bottom: 40px;
  }
  .btnList01 {
    margin-bottom: 18px;
    flex-direction: column;
  }

  .btnList01_img {
    width: 100%;
    height: 50vw;
  }

  .btnList01_txt {
    width: 100%;
  }

  .btnList01_txtWrap {
    width: 80%;
    margin: 15px auto;
  }

  .btnList01_txt h3 {
    font-size: 20px;
    margin-bottom: 18px;
  }

  .btnList01_txt p {
    margin-bottom: 20px;
  }

  .colorBtn {
    font-size: 18px;
    padding: 15px 20px 15px 12px;
  }

  .colorBtn::after {
    border-width: 6px 0 6px 5px;
    right: 12px;
  }
    .btnList02 .colorBtn {
      margin-top: -25px;
    }
    .btnList02_wrap {
      flex-direction: column;
    }
    .btnList02_wrap {
      margin-bottom: 20px;
    }

    .btnList02 {
      width: 100%;
      padding: 30px 0;
    }

    .btnList02_inner {
      width: 87%;
    }

    .btnList02_img img {
      width: 120px;
    }

    .btnList02_txt {
      width: calc(100% - 135px);
    }
}
/********************400px以下のとき*********************/
@media screen and (max-width:400px) {
  .staff01 {
    width: 90px;
  }

  .top_ttl_area h2 {
    padding: 20px 0 60px;
  }
}
/********************370px以下のとき*********************/
@media screen and (max-width:370px) {
  .btnList02 .colorBtn {
    margin-top: 0px;
  }
}
/*円グラフ------------------------------------------------------------------------*/
.graph {
margin: 100px auto;
}
.graph img {
  width: 32%;
  float: left;
  margin: 0 50px;
}
.graph h2 {
  width: 55%;
  float: right;
  font-size: 40px;
  line-height: 1.5;
  margin-bottom: 40px;
}
.graphTxt {
  width: 55%;
  float: right;
}
.f55 {
  font-size: 55px;
}
.red {
  color: red;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .graph {
    margin: 50px auto;
    text-align: center;
    }
    .graph img {
      width: 80%;
      max-width: 400px;
      float: none;
      margin: 20px 0;
    }
    .graph h2 {
      width: 100%;
      float: none;
      font-size: 22px;
      line-height: 1.5;
      margin-bottom: 0px;
    }
    .graphTxt {
      width: 100%;
      float: none;
      text-align: left;
    }
    .f55 {
      font-size: 36px;
    }
}
/*円グラフここまで------------------------------------------------------------------------*/
/*トラブルここから------------------------------------------------------------------------*/
.trouble {
  background: #429cba;
  padding: 70px;
  margin-bottom: 100px;
}
.troubleWrap {
  align-items: center;
}
.trouble p {
  color: #fff;
}
.trouble h2 {
  font-size: 40px;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 40px;
}
.trouble .f50 {
  font-size: 50px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  position: relative;
}
.trouble .f50::after {
  content: url(../img/top/top_trouble_mark.png);
  display: inline-block;
  position: absolute;
  top: -45%;
  right: -25%;
}
.troubleTxt {
  width: 55%;
}
.troubleTxt p {
  width: 90%;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .trouble {
    width: 100%;
    padding: 50px 2%;
    margin-bottom: 50px;
  }
  .troubleWrap {
    display: block;
  }
  .trouble h2 {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .trouble .f50 {
    font-size: 32px;
  }
  .trouble .f50::after {
    content: url(../img/top/top_trouble_mark.png);
    display: inline-block;
    position: absolute;
    top: -65%;
    right: -30%;
  }
  .troubleTxt {
    width: 100%;
  }
  .troubleTxt p {
    width: 100%;
    margin-bottom: 20px;
  }
  .troubleWrap img {
    width: 80%;
    display: block;
    margin: 0 auto;
  }
}
/********************374px以下のとき*********************/
@media screen and (max-width:374px) {
.trouble .f50 {
    font-size: 24px;
  }
    .trouble h2 {
    font-size: 22px;
  }
}
/*トラブルここまで------------------------------------------------------------------------*/
/*プランここから------------------------------------------------------------------------*/
.plan {
  position: relative;
  padding-bottom: 100px;
}
.plan::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 60%;
  left: 0;
  bottom: 0;
  background: #F5F5F5;
  z-index: -10;
}
.plan h2 {
  margin-bottom: 60px;
}
.planCont {
  width: 45%;
}
.planContTxt {
  width: 85%;
  background: #fff;
  padding: 12%;
  margin: -30% auto 0;
  position: relative;
}
.planContTxt h3 {
  font-size: 33px;
  line-height: 1em;
  margin-bottom: 20px;
}
.planContTxt .f16 {
  font-size: 13px;
  margin-bottom: 3px;
  font-weight: bold;
  color: #56b1cf;
}
.planContTxt a {
  display: inline-block;
  text-decoration: none;
  color: #333;
  border: 1px solid #333;
  border-radius: 20px;
  font-size: 16px;
  padding: 2px 0px;
  width: 200px;
  text-align: center;
  margin-top: 30px;
  transition: .3s;
}
.planContTxt a:hover {
  color: #fff;
  background: #56b1cf;
  border: 1px solid #56b1cf;
}
/* .planContTxt a::after {
  content: url(../img/common/arrow_2.png);
  display: inline-block;
  position: absolute;
  top: 5px;
  right: -20px;
  transition: .3s;
} */
.planContTxt a:hover::after {
  right: -30px;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .plan {
    padding-bottom: 50px;
  }
  .plan::before {
    height: 77%;
  }
  .plan h2 {
    margin-bottom: 20px;
  }
  .planWrap {
    display: block;
  }
  .planCont {
    width: 100%;
  }
  .planContTxt {
    width: 85%;
    margin: -30% auto 0;
  }
  .planCont1 {
    margin-bottom: 30px;
  }
  .planContTxt h3 {
    font-size: 23px;
    margin-bottom: 10px;
  }
  .planContTxt .f16 {
    font-size: 12px;
  }
  .planContTxt a {
    font-size: 14px;
    margin-top: 15px;
  }
}
/*プランここまで------------------------------------------------------------------------*/
/*相談ください　ここから------------------------------------------------------------------------*/
.soudan {
  padding: 100px 0;
}
.soudan .sectionTtl {
  margin-bottom: 50px;
}
.soudanTxt {
  margin-bottom: 60px;
  text-align: center;
}
.soudan .msg p:first-child {
  width: 40%;
}

.msg {
  align-items: center;
}

.soudan .msg div {
  width: 54%;
}
.pageBtnWrap {
  margin-bottom: 60px;
}
.pageBtnWrap ul {
  flex-wrap: wrap;
  justify-content: space-between;
  background: #fff;
}
.pageBtnWrap ul:first-child {
  margin-bottom: 40px;
}
.pageBtn {
 width: 48%;
 transition: .3s;
}

.pageBtn:hover {
  transform: translateY(4px);
  box-shadow: 3px 3px 8px 3px #E8E8E8;
}
.pageBtn a {
  display: block;
  padding: 30px 50px 30px 40px;
  text-decoration: none;
  font-weight: bold;
  color: #333;
}
.pageBtn .pageBtnttl {
  font-size: 25px;
}
.pageBtn span {
  font-size: 21px;
  font-weight: bold;
}
.pageBtn p {
  margin-top: 10px;
  font-size: 16px;
}
.pageBtn a p img {
  width: 60px;
  display: block;
}
.pageBtn .only960 {
  display: none;
}
.pageBtn .none960 {
  display: block;
}
.pageBtnInner {
  align-items: center;
}
.narrow .pageBtn a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  font-weight: bold;
  color: #333;
}
.pageBtnFix .pageBtn {
 width: 450px;
}

/********************960px以下のとき*********************/
@media screen and (max-width:960px) {
  .soudan {
    padding: 50px 0;
  }
  .soudan .sectionTtl {
    margin-bottom: 20px;
  }
  .soudanTxt {
    margin-bottom: 20px;
  }
  .pageBtnWrap {
    margin-bottom: 40px;
  }
  .pageBtnWrap ul:first-child {
    margin-bottom: 20px;
  }
  .pageBtn a {
    padding: 20px 40px 20px 40px;
  }
  .pageBtn .only960 {
    display: block;
  }
  .pageBtn .none960 {
    display: none;
  }
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .soudan .sectionTtl {
    margin-bottom: 20px;
  }
  .soudanTxt {
    text-align: left;
  }
  .soudan .msg p:first-child {
    width: 90%;
    margin-left: 10%;
  }

  .soudan .msg div {
    width: 90%;
    margin-left: 10%;
  }
  .pageBtnWrap {
    margin-bottom: 30px;
  }
  .pageBtnWrap ul:first-child {
    margin-bottom: 10px;
  }
  .pageBtn a {
    text-align: center;
    line-height: 1.2;
    padding: 15px 7px;
    font-size: 18px;
  }
  .pageBtn span {
    font-size: 14px;
  }
  .pageBtn .pageBtnInner p {
    width: 50px;
    margin: 20px auto 0;
  }
  .pageBtnInner {
    display: block;
  }
  .pageBtnFix{
    width: 250px;
  }
  .pageBtn .pageBtnttl {
  font-size: 21px;
}
}
/*相談ください　ここまで------------------------------------------------------------------------*/
/*メッセージ　ここから------------------------------------------------------------------------*/
.msgWrap {
  padding: 100px 0;
  position: relative;
}
.msg p:first-child {
  width: 44%;
}
.msg div {
  width: 48%;
}
.msg .sectionTtl {
  text-align: left;
  margin-bottom: 30px;
}
.msg div p {
  line-height: 2em;
}
.msgWrap::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  right: 0;
  width: 80%;
  height: 100%;
  background: #F5F5F5;
  z-index: -10;
}
/********************960px以下のとき*********************/
@media screen and (max-width:960px)  {
  .msgWrap {
    padding: 50px 0;
  }
  .msg .sectionTtl {
    margin-bottom: 20px;
  }
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .msg p:first-child {
    width: 80%;
  }
  .msg {
    display: block;
  }
  .msg div {
    width: 90%;
    margin-left: 10%;
  }
  .msg div p {
    line-height: 1.7em;
  }
  .msg .sectionTtl {
    text-align: left;
    margin: 30px 0 20px;
    font-size: 25px;
  }
  .msgWrap::after {
    width: 90%;
  }
}
/*相談ください　ここまで------------------------------------------------------------------------*/
/*選ばれる理由　ここから------------------------------------------------------------------------*/
.reason {
  padding: 100px 0;
}
.reason .sectionTtl {
  margin-bottom: 60px;
}
.reasonWrap {
  padding: 4%;
  margin-bottom: 60px;
}
.reasonCont {
  width: 50%;
}
.reasonImg {
  width: 40%;
}
.reasonContTtl {
  color: #429cba;
  font-weight: bold;
}
.reasonWrap .num {
  font-size: 80px;
  line-height: 1;
  margin-right: 10px;
}
.reasonWrap h3 {
  font-size: 32px;
  margin: 40px 0 20px;
}
.proWrap {
  margin-top: 50px;
  flex-wrap: wrap;
}
.pro {
  width: 50%;
}
.pro ul li {
  width: 50%;
  margin-bottom: 50px;
}
.pro ul li img {
  width: 100%;
}
.pro .prof {
  font-size: 16px;
  font-weight: bold;
  color: #1D2663;
  line-height: 1.2em;
}
.pro .name {
  font-size: 22px;
  font-weight: bold;
}
.pro .msgTxt {
  font-size: 14px;
}
.holiday .reasonCont {
  float: right;
}
.holiday .reasonImg {
  float: left;
}
.holiday .yoyaku {
  float: right;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #333;
  border: 1px solid #333;
  font-size: 16px;
  padding: 9px 50px;
  margin-top: 30px;
  border-radius: 30px;
  transition: .3s;
}
/* .holiday .yoyaku::after {
  content: url(../img/common/arrow_2.png);
  display: inline-block;
  position: absolute;
  top: 5px;
  right: -20px;
  transition: .3s;
} */
.holiday .yoyaku:hover {
  border: 1px solid #56b1cf;
  background: #56b1cf;
  color: #fff;
}
.achivImg {
  margin-top: 60px;
}
.info .infoImg {
  float: left;
  width: 45%;
  padding: 60px 0;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .reason {
    padding: 50px 0;
  }
  .reason .sectionTtl {
    margin-bottom: 20px;
  }
  .reasonWrap {
    padding: 0 2% 4% 2%;
    display: block;
    margin-bottom: 40px;
  }
  .reasonCont {
    width: 100%;
    margin-bottom: 20px;
  }
  .reasonImg {
    width: 100%;
  }
  /* .reasonWrap .num {
    font-size: 50px;
  } */
  .reasonWrap .num img {
    width: 70px;
  }
  .reasonWrap .num01 img {
    width: 60px;
  }
  .reasonWrap h3 {
    font-size: 24px;
    margin: 10px 0 20px;
  }
  .reasonImg .trming img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  .proWrap {
    margin-top: 30px;
    flex-direction: column;
  }
  .pro {
    width: 100%;
  }
  .pro ul li {
    width: 60%;
    margin-bottom: 30px;
  }
  .pro ul li:first-child {
    width: 40%;
  }
  .pro ul li img {
    width: 100%;
  }
  .pro .prof {
    font-size: 14px;
  }
  .pro .name {
    font-size: 18px;
  }
  .pro .msgTxt {
    font-size: 14px;
  }
  .holiday .yoyaku {
    float: none;
    text-align: center;
    padding: 9px 0px;
    margin: 30px 5%;
    width: 80%;
  }
  .trming {
    margin-top: 20px;
    overflow: hidden;
    position: relative;
    padding-top: 65%;
  }
  .trming img {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .info .infoImg {
    float: none;
    width: 100%;
    padding: 0;
  }
  .achivImg {
  margin-top: 30px;
}
}
/*選ばれる理由　ここまで------------------------------------------------------------------------*/
/*料金　ここから------------------------------------------------------------------------*/
.price {
  margin-bottom: 100px;
}
.price .sectionTtl {
  margin-bottom: 40px;
}
.priceList {
  margin-bottom: 100px;
  max-width: 100%;
}
.priceList a {
  display: block;
  width: 50%;
}
.priceList a:hover {
  opacity: 0.9;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .price {
    margin-bottom: 50px;
  }
  .priceList a {
  width: 100%;
}
  .price .sectionTtl {
    margin-bottom: 20px;
  }
  .priceList {
    margin-bottom: 50px;
  }
}
/********************750px以下のとき*********************/
@media screen and (max-width:750px) {
  .priceList {
    display: block;
  }
}
/*料金　ここまで------------------------------------------------------------------------*/
/*コラム　ここから------------------------------------------------------------------------*/
.topColumn {
  background: #F5F5F5;
  padding: 100px 0;
  margin-bottom: 100px;
}
.topColumn .sectionTtl {
  margin-bottom: 40px;
}
.columnWrap {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
  position: relative;
}
/* .columnWrap::before {
  content: url(../img/top/column_arrow_l.png);
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -60px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
}
.columnWrap::after {
  content: url(../img/top/column_arrow_r.png);
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -60px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
} */
.columnWrap li {
  width: 32%;
  background: #fff;
}
.columnWrap li a {
  text-decoration: none;
}
.columnImg {
  width: 100%;
  height: ;
  position: relative;
  overflow: hidden;
}
.columnWrap .columnCont {
  width: 100%;
  height: 200px;
  padding: 30px 20px 20px 20px;
  position: relative;
}
.columnCont .columnDate {
  font-size: 16px;
  color: #7E7E7E;
  position: absolute;
  bottom: 20px;
  left: 20px;
}
.columnBtn {
  display: block;
  text-decoration: none;
  color: #333;
  border: 1px solid #333;
  font-size: 16px;
  padding: 9px 50px;
  margin: 60px auto 0;
  width: 80%;
  max-width: 320px;
  text-align: center;
  position: relative;
}
.columnBtn::after {
  content: url(../img/common/arrow_2.png);
  display: inline-block;
  position: absolute;
  top: 5px;
  right: -20px;
  transition: .3s;
}
.columnBtn:hover::after {
  right: -30px;
}
.swiper-custom-parent{
  margin: 100px 100px 0;
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
  width: 98%;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .topColumn {
    padding: 50px 0;
    margin-bottom: 50px;
  }
  .topColumn .sectionTtl {
    margin-bottom: 20px;
  }
  .columnWrap .columnCont {
  width: 100%;
  height: 150px;
  padding: 20px 10px 10px 10px;
  position: relative;
}
  .columnWrap .columnCont p {
    line-height: 1.4em;
  }
}
/*コラム　ここまで------------------------------------------------------------------------*/
/*footerここから------------------------------------------------------------------------*/
.footer {
  background: #F5F5F5;
  padding-top: 80px;
}
.footer h2 {
  font-size: 24px;
  line-height: 1.6;
}
.footer h2 span{
  display: block;
  font-size: 18px;
  margin-bottom: 10px;
}
.footerTel {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.footer .footerTel a {
  text-decoration: none;
  color: #429cba;
  font-size: 35px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
}
.footerTel img {
  width: 27px;
}
.footerTel:hover {
  opacity: 0.8;
}
.footerTelWrap {
  padding-bottom: 25px;
  border-bottom: 1px solid #B9B9B9;
}
.footerList {
  padding-top: 25px;
  padding-bottom: 80px;
}
.footerList a {
  text-decoration: none;
  color: #333;
}
.footerListWrap, .footerListWrap > a, .footerListContact a {
  font-weight: bold;
  display: inline-block;
  color: #429cba;
}
.footerListWrap ul {
  margin-top: 10px;
}
.footerList li ul li a {
  font-size: 14px;
  display: inline-block;
  margin-bottom: 3px;
}
.footerListWrap {
  width: 250px;
  cursor: pointer;
}
.footerDropdown a {
  border-bottom: 1px solid #F5F5F5;
}
.footerDropdown a:hover {
  border-bottom: 1px solid #B9B9B9;
}
.footerListContact:hover {
  opacity: 0.8;
}
.footer small {
  display: block;
  width: 100%;
  font-size: 12px;
  padding: 18px 0;
  text-align: center;
  color: #fff;
  background: #429cba;
}
/********************768px以下のとき*********************/
@media screen and (max-width:768px) {
  .footer {
    padding-top: 20px;
  }
  .footer h2 {
    font-size: 18px;
  }
  .footer .footerTel a {
    font-size: 24px;
  }
  .footerTel img {
    width: 26px;
  }
  .footerTelWrap p {
    font-size: 14px;
  }
  .footerList li ul li a {
  margin-bottom: 0px;
  }
  .footerTelWrap {
  padding-bottom: 18px;
  }
  .footerList {
  padding: 0;
  display: block;
  }
  .footerListWrap {
  display: block;
  margin-bottom: 0px;
  width: 100%;
  padding: 10px 5px;
  border-bottom: 1px solid #B9B9B9;
  position: relative;
  }
  .footerListWrap::before {
    content: '';
    width: 60px;
    height: 52px;
    position: absolute;
    background: #B9B9B9;
    top: 0;
    right: 0;
    border-bottom: 1px solid #fff;
    cursor: pointer;
  }
  .footerListWrap::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    top: 20px;
    right: 25px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .footerListContact {
  display: block;
  margin-bottom: 0px;
  width: 100%;
  padding: 15px 5px;
  border-bottom: 1px solid #B9B9B9;
  position: relative;
  }
  .footerListContact a {
  display: block;
  color: #1D2663;
  font-weight: bold;
  width: 100%;
  }
  .footerListWrap ul li a {
  font-size: 16px;
  margin: 10px;
  display: inline-block;
  }
  .footer small {
  padding: 10px 0;
  }
.footer-toggle01 {
  display: none;
}
.footer-toggle1 .footer-toggle01 {
  display: block;
}
.footer-toggle02 {
  display: none;
}
.footer-toggle2 .footer-toggle02 {
  display: block;
}
.footer-toggle03 {
  display: none;
}
.footer-toggle3 .footer-toggle03 {
  display: block;
}
.footer-toggle04 {
  display: none;
}
.footer-toggle4 .footer-toggle04 {
  display: block;
}
}
/*footerここまで------------------------------------------------------------------------*/


.telbnr-pc {
  position: fixed;
  bottom: 30px;
  right: 0;
  width: 300px;
  opacity: 0;
  transition: .3s;
  z-index: 10000;
}
.telbnr-sp {
  display: none;
}
.telbnr-pc.isActive:hover {
  opacity: 0.8;
}

.telbnr-pc.isActive {
  opacity: 1;
  transition: all 0.65s;
}

.telbnr-pc.js_close{
  display: none;
}
.btm_close{
  position: absolute;
  right: 10px;
  top: -15px;
  width: 15px;
  height: 15px;
  cursor: pointer;
}
.btm_close span:nth-of-type(1) {
  position: absolute;
  top: 7px;
  right: 0;
  width: 15px;
  height: 1px;
  background-color: #666;
  transform: rotate(45deg);
}
.btm_close span:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 7px;
  width: 1px;
  height: 15px;
  background-color: #666;
  transform: rotate(45deg);
}




@media screen and (max-width:768px) {
  .telbnr-pc {
    width: 250px;
  }
}

@media screen and (max-width:500px) {
  .footer {
    padding-bottom: 115px;
  }
  .telbnr-pc {
    display: none;
  }
  .telbnr-sp {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
  z-index: 10000;
  }
}

.open .telbnr-pc,
.open .telbnr-sp {
  display: none;
}

/* お問い合わせ */
.mw_wp_form .horizontal-item{
display: block;
margin-left:0 !important;
margin-bottom:0.5em;
}

a.tel_link{color: #222;text-decoration: none;}

/*
@media (min-width: 600px) {
   a[href^="tel:"] {
       pointer-events: none;
   }
}
*/

.mt10{margin-top:10px;}