@charset "utf-8";
/*--------------------------------------------------------------------
styel css
--------------------------------------------------------------------*/
html {
	-webkit-text-size-adjust: 100%;
	font-size: 10px;
}
body {
    font-size: 1.8rem;
    /*font-family: "Hiragino maru Gothic ProN", "a?’a?ca?Ra??a，，a?´ ProN W3", "a，，a?´a?・a??a?￣ Medium", "Yu Gothic", YuGothic, Meiryo, a?!a??a?aa?a, Osaka, sans-serif;*/
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    color: #20365b;
    line-height: 1.6;
    width: 100%;
    /* overflow: hidden; */
}
img {
	max-width: 100%;
	height: auto;
	min-width: 0;
}
.pageTop {
	position : fixed;
	right : 10px;
	bottom : 10px;
}

/*--------------------------------------------------------------------
parts
--------------------------------------------------------------------*/
.left {
	float: left;
}
.right {
	float: right;
}
.nodisp {
	display: none;
}
.mgb_40 {
	margin-bottom: 40px;
}
.mgb_20 {
	margin-bottom: 20px;
}
.mgb_30 {
	margin-bottom: 30px !important;
}
.mgb_10 {
	margin-bottom: 10px;
}
.mgb_05 {
	margin-bottom: 5px;
}
.mgt_10 {
	margin-top: 10px;
}
.txt_center {
	text-align: center!important;
}
.txt_right {
	text-align: right;
}
.txt_left {
	text-align: left !important;
}
.txt_red {
	color: #c32d02;
}
.txt_red_l {
	color: #c32d02;
	font-size: 16rem;
}
.txt_red_l02 {
	color: #c32d02;
	font-size: 30rem;
	font-weight: bold;
}

.txt_b {
	font-weight: 500;
}
.txt_bl {
	color: #3264b2;
}
.txt_sml {
	font-size: 11rem;
}
.txt_uline {
	background: linear-gradient(transparent 70%, #cef8d6 70%);
}
.f_s
{
	font-size		: 1.2rem;
}

.f_l
{
	font-size		: 2rem;
}

.f_xl
{
	font-size		: 1.5em;
}
.under_line {
    position: relative;
    z-index: 0;
}
.under_line:before{
   background: url(../images/under_line01.png) center no-repeat;
   background-size: contain;
   content: "";
   display: block;
   height: 15px;
   width: 122px;
   position: absolute;
   left: 0;
   bottom: -10px;
   z-index: -1;
}
table {
	border-collapse: collapse;
	line-height: 1.2;
}
th, td {
	padding: 8px;
}
header {position: relative;margin: 0;width: 100%;background: #FFF;z-index: 2;/* box-shadow: #cccccc 0px 2px 8px; */transition: .5s;/*	z-index: 100;
*/}
header.fixed-header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	transition: .3s;
}
header.hidehead {
    transform: translateY(-100%);
}
header.hidehead_fixed {
    position: fixed;
}

.none
{
	margin-bottom   : 0px!important;
}

.m_xs
{
	margin-bottom	: 10px!important;
}

.m_s
{
	margin-bottom	: 15px!important;
}

.m_l
{
	margin-bottom	: 20px!important;
}

.m_xl
{
	margin-bottom	: 30px!important;
}
.m_xxl
{
	margin-bottom	: 40px!important;
}
.m_xll
{
	margin-bottom	: 50px!important;
}

hr {
	display: none;
}


::-webkit-input-placeholder {
 color:    #CCC;
}
:-moz-placeholder {
 color:    #CCC;
}
/*--------------------------------------------------------------------
common
--------------------------------------------------------------------*/
/*@media screen and (max-width: 425px){
.header_sec .h_area,
.box_xl .h_area{
    font-size: 3.2vw;
}
}
*/
header .header_sec{
  padding: 0 0 0 10px;
}
header h1{
  font-weight: bold;
  font-size: 1.8rem;
  padding: 2px 0 8px 0;
}
.h_area{
  background: #00ace1;
  color: #ffffff;
  font-size:1.2rem;
  padding: 2px 10px;
  border-radius: 60px;
  display: inline-block;
}

.ft_contact_setsu {
    display: block;
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 10000;
    border-top: 1px solid #bfbfbf;
	background: #eef4fe;
}
.ft_contact_setsu .ft_con {
    display: flex;
}
.ft_contact_setsu .ft_con a {
    width: 100%;
    padding: 1px 0;
    margin: 0 auto;
    display: block;
    text-align: center;
    min-height: 1px;
}
.ft_contact_setsu .ft_con img {
    max-width: 85%;
    max-height: 50px;
    height: auto;
    margin: 5px 0;
    vertical-align: middle;
}
.ft_contact_setsu .ft_con .ft_text {
    padding: 10px 0 0 0;
    width: 40%;
    background: #eef4fe;
    /* height: 24px; */
    border-right: 1px solid #fff;
}
.ft_contact_setsu .ft_con .ft_line {
    width: 20%;
    background: #06c755;
    padding: 5px 0 3px 0;
    border-right: 1px solid #fff;
    display: flex;
    align-items: center;
}
.ft_contact_setsu .ft_con .ft_mail {
	width: 20%;
	background: #52b7f0;
	/* padding: 10px 0 0 0; */
	border-right: 1px solid #fff;
	display: flex;
	align-items: center;
}
.ft_contact_setsu .ft_con .ft_tel {
	width: 20%;
	background-color: #195cc6;
	/* padding: 4px 0 0 0; */
	display: flex;
	align-items: center;
}
.ft_contact_setsu .ft_con .ft_line img {
    width: 40%;
}
.ft_contact_setsu .ft_con .ft_mail img {
	width: 50%;
}
.ft_contact_setsu .ft_con .ft_tel img {
	width: 36%;
}
/*.ftcontact {
	position: fixed;
	bottom: 0;
	width: 100%;
  padding: 0.5em 0;
  background: rgba(246, 250, 252, 0.9);
  z-index: 100;
}
.ftcontact .ft_top{
  background: #ffbd5f;
  border-radius: 60px;
  padding: 14px 10px;
  font-size: 2.4rem;
  font-weight: bold;
  width:90%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ftcontact .ft_top:before{
 content:"";
 display: block;
 width: 57px;
 height: 52.5px;
 background: url(../images/tel_icon.svg)no-repeat;
 background-size: contain;
 margin-right: 10px;
}
*//*.ftcontact .ft_home img, .ftcontact .ft_form img {
	max-height: 55px;
}
*/
/*.ftcontact .ft_home, .ftcontact .ft_form {
	background: #011f5f;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: center;
}
.ftcontact .ft_home {
	width: 55px;
	border-right: 1px solid #FFF;
}
.ftcontact .ft_home img {
	width: 78%;
}
.ftcontact .ft_form {
	width: calc(100% - 55px);
	padding: 0 5px;
	flex-grow: 1;
}
.ftcontact .ft_top {
	background: #de5010;
  border-radius: 15px;
  padding: 4px 2px 2px 2px;
  margin: 2px 5px;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	justify-content: center;
}
.ftcontact .ft_top img {
  max-width: 90%;
}*/

footer{
  background: #f6fafc;
  padding: 40px 5% 120px;
}
/* .bt_top_navi
----------------------------------------------------------- */

.bt_top_navi {
  position: fixed;
  right:  10px;
  bottom: 200px;
  width: 45px;
  height: 45px;
      transform: rotate(90deg);
      opacity: 0.6;

}


/*------------------------------------------------
トップページ
------------------------------------------------*/

/*---h2--*/
#top_p h2{
  font-size: 2.7rem;
  text-align: center;
  font-weight:500;
  position: relative;
  display: inline-block;
  padding: 0 60px;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1.2;
}


#top_p #service h2:before
, #top_p #FAQ h2:before
, #top_p #kuchikomi h2:before
, #top_p #service h2:after
, #top_p #FAQ h2:after
, #top_p #kuchikomi h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 4px;
  border-radius:6px;
  background-color: #fff;
}

#top_p h2:before
, #FAQ h2:before {
  left:0;
}
#top_p h2:after
, #top_p #FAQ h2:after {
  right: 0;
}

#top_p #price h2:before
, #top_p #feature h2:before
, #top_p #about h2:before
, #top_p #staff h2:before
, #top_p #stafflist h2:before
, #top_p #sodan h2:before
, #top_p #price h2:after
, #top_p #feature h2:after
, #top_p #about h2:after
, #top_p #staff h2:after
, #top_p #stafflist h2:after
, #top_p #sodan h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 4px;
  border-radius:6px;
  background-color: #d7d7d7;  
}
#main_img .main_img_sec{
      position: relative;
    overflow: hidden;
}
#main_img img {
    /* margin: 0 auto; */
    /* display: block; */
}
#main_img {
  position: relative;
  margin-bottom: 0;
  text-align: center;
}
.main_img_catch01 {
    width: 80%;
    margin: 2rem auto 0 auto;
    text-align: center;
}
.main_img_sec{
  background: url("../images/main_bg.png") center bottom no-repeat;
  position: relative;
  z-index: -1;
  background-size: cover;
  clip-path: polygon(0 13vw, 100% 0, 100% calc(100% - 13vw), 0 100%);
  padding-top: 10vw;
  margin-top: -10vw;
}
.main_img_sec .catch01{
    width: 80%;
    margin: 0 auto;
}
.main_img_catch02 {
    /* margin: -20px; */
    position: absolute;
    bottom: -6.5%;
    display: flex;
    justify-content: center;
    width: 80%;
    /* top: 50%; */
    left: 50%;
    transform: translateX(-50%);
    align-items: flex-start;
}
.main_img_catch02 .banner01{
    width: 45%;
    /* height: auto; */
}
.main_img_catch02 .banner02{
  width: 45%;
  margin-top: -6.6vw;
  margin-left: 10px;
}

.main_under {
  background: #20365b;
  padding: 8rem 0 2.5rem;
  clip-path: polygon(0 13vw, 100% 0, 100% 88%, 55% 88%, 50% 100%, 50% 88%, 0 88%);
  margin-top: -13vw;
  position: relative;
  z-index: -3;
  text-align: center;
}
.main_under img {
  width: 78%;
}

/*--------------- #top_sec01 ---------------*/
#top_sec01{
  position: relative;
  clip-path: polygon(0 13vw, 100% 0, 100% 100%, 0 100%);
  background: url("../images/sec02_bg.jpg") center  no-repeat;
  background-size: cover;
  overflow: hidden;
  margin-top: -13vw;
  z-index: -1;
  padding: 20vw 0 5vw 0;
  }
#top_sec01 h2{
  font-size:2.7rem;
  text-align: center;
  padding: 0;
  line-height: 1.5;
  }
#top_sec01 ul{
  margin: 3rem 0;
}
#top_sec01 ul li{
  display: flex;
  align-items: center;
  padding: 5px 0 5px 15px;
  width: 95vw;
  background: linear-gradient(120deg, rgb(202 248 205 / 70%) 0%, rgb(170 198 244 / 70%) 100%);
  margin-bottom: 10px;
  font-weight: bold;
}
#top_sec01 ul li:before{
  display: block;
  content: "";
  background: url("../images/check01.svg") center  no-repeat;
  background-size: contain;
  width: 28px;
  height: 28px;
  margin-right: 5px;
}
#top_sec01 .fukidashi{
  font-size: 2rem;
  text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#top_sec01 .fukidashi::before,
#top_sec01 .fukidashi::after {
	content: '';
	width: 3px;
	height: 70px;
	background-color:#3264b2;
}
#top_sec01 .fukidashi::before {
	margin-right: 15px;
	transform: rotate(-30deg);
}
#top_sec01 .fukidashi::after {
	margin-left: 15px;
	transform: rotate(30deg);
}
/*--------------- #top_sec02 ---------------*/
#top_sec02{
  text-align: center;
  position: relative;
  z-index: 0;
  /* height: 100%; */
  width: 100%;
  /* background: aliceblue; */
}
#top_sec02:before{content:"";display: block;background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%);clip-path: polygon(0 0, 100% 0, 100% calc(100% - 13vw), 0 100%);height: 100%;width: 100%;/* background: aliceblue; */position: absolute;z-index: -1;}

.top_sec02_tit{
  background: #20365b;
  font-size:2.7rem;
  color: #ffffff;
  font-weight: 500;
  position: relative;
  display: inline-block;
  /* margin: 1.5em 0; */
  padding: 15px 0;
  width: 100%;
}

.top_sec02_tit:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 15px solid #20365b;
}

.top_sec02_img{
  width: 90%;
  margin: 0 auto;
  padding-top: 30px;
}
/*--------------- #レスポンシブデバイス ---------------*/
.response{
  text-align: center;
  width: 92%;
  margin: 3rem auto;
}
.response .tel_txt{
  font-size: 2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  color:#3264b2;
  margin-bottom: 5px;
}
.response .tel_txt::before,
.response .tel_txt::after {
	content: '';
	width: 2px;
	height: 30px;
	background-color:#3264b2;
}
.response .tel_txt::before {
	margin-right: 15px;
	transform: rotate(-30deg);
}
.response .tel_txt::after {
	margin-left: 15px;
	transform: rotate(30deg);
}
.response .btn_group{
  display: flex;
  margin: 2rem 0;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row-reverse; /* 並び順変更 */
  gap: 10px;
}

/*--------------- #レスポンシブデバイス ver2 ---------------*/

.response02{
  text-align: center;
  width: 92%;
  margin: 1.5rem auto;
}
.response02 .msg{
  margin-bottom: 1rem;
}
.response02 .tel_txt{
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  color:#3264b2;
}
.response02 .btn_group{
  display: flex;
  margin: 1rem 0 2rem;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row-reverse; /* 並び順変更 */
}
/*--------------- #top_sec03 ---------------*/

.top_sec03_tit {
  width: 100%;
  margin: 0 auto;
}

.top_sec03_txt01 p {
    /* background: aliceblue; */
    /* width: 92%; */
    padding: 2rem 0 2rem  4%;
    /* background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%); */
    font-feature-settings: "palt";
    width: 72vw;
    font-weight: bold;
}

.top_sec03_txt01 {
    position: relative;
    z-index: 0;
    background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%);
}

img.top_sec03_txt01_img {
    position: absolute;
    top: -20px;
    right: 0;
    width: 25.6vw;
    /* width: 12%; */
}

.top_sec03_txt02 {
    position: relative;
    z-index: 0;
    padding-bottom: 3rem;
}
img.top_sec03_txt02_img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 32vw;
}
.top_sec03_txt02 ul {
  padding: 3rem 1rem 0 8vw;
    /* display: flex; */
    /* flex-direction: column; */
}
.top_sec03_txt02 ul li{
  display: flex;
  align-items: center;
  border-bottom: 1px solid #20365b;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  /* justify-content: flex-start; */
  }
.top_sec03_txt02 ul li img{
  width: 10%;
  padding-right: 10px;
}
.top_sec03_txt02 ul li>p
, .top_sec03_txt02 ul li>div{
  width: 90%;
  line-height: 1.6;
}
.top_sec03_txt02 ul li p span{
  font-weight: bold;
  color: #3264b2;
  font-size: 1.15em;
  line-height: 1.2;
  padding-bottom: 5px;
  display: inline-block;
}

.top_sec03_txt02 table {
  margin: 20px 4% 30px;
  width: 92%;
  border-collapse: collapse;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  background: #fff;
  border-radius: 0;
  font-size: .9em;
}
.top_sec03_txt02 table th {  
  padding: 5px 0;
  border-bottom: #d7d7d7 1px solid;
  text-align: center;
  vertical-align: middle;
  font-weight: 400;
}
.top_sec03_txt02 table th:not(:last-child)
, .top_sec03_txt02 table td:not(:last-child) {
  border-right: #d7d7d7 1px solid;
}
.top_sec03_txt02 table td {
  padding: 5px 0;
  vertical-align: middle;
  border-top: #d7d7d7 1px solid;
  text-align: center;
}
.top_sec03_txt02 table td:last-child {
    color: #3264b2;
}
/*.top_sec03_txt02 table tr:nth-last-child(even) td {
    background: #eeeeee;
}*/

/*--------------- #kuchikomi ---------------*/
#kuchikomi {
  position: relative;
  z-index: 0;
  background: linear-gradient(120deg, rgb(175 255 179 / 60%) 0%, rgb(170 214 255 / 60%) 100%);
  margin-bottom: 4rem;
  padding-top: 100px;
  padding: 100px 4% 30px 4%;
}
#kuchikomi:before{
  content:"";
  display: block;
  width:100%;
  height: 70%;
  background: url(../images/sec_04bg.png) left top no-repeat;
  background-size: contain;
  position: absolute;
  top:0;
  left: 0;
  z-index: -1;
  }
#kuchikomi:after{
  content:"VOICE";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
  position: absolute;
  top:0;
  left:0;
  color: #fff;
  opacity: 40%;
  display: block;
  line-height: 0.8;
  margin: 0;
  padding: 0;
}
 .kuchikomi_wrapper{
   margin: 0 auto;
   padding: 3rem 0;
 }
/*#kuchikomi  h2{
   font-size: 2.4rem;
   padding: 1.5rem 0;
   border-top:1px solid #20365b;
   border-bottom:1px solid #20365b;
   width: 100%;
   margin-bottom: 2rem;
   font-family: "Noto Serif JP", serif;
 } */
 .kuchikomi_ex {
	text-align: left;
}

.kuchikomi_in {
	border: 1px solid #20365b;
	padding: 4%;
  border-radius: 10px;
  background: #fff;
}

.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    left: 80px;
    top: 20px;
}
.star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}
.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}
.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.kuchikomi_img01 {
	background: url(../images/kuchikomi_img01.png) 5px 0 no-repeat;
    background-size: 60px;
	height: 60px;
	margin-bottom: 10px;
}



.kuchikomi_img02 {
	background: url(../images/kuchikomi_img02.png) 5px 0 no-repeat;
    background-size: 60px;
	height: 60px;
	margin-bottom: 10px;
}

.kuchikomi_img03 {
	background: url(../images/kuchikomi_img03.png) 5px 0 no-repeat;
    background-size: 60px;
	height: 60px;
	margin-bottom: 10px;
}

.kuchikomi_text {
	font-size: 0.95em;
    line-height: 1.5em;
}
/*--------------- .syoseki_box .suisen_box ---------------*/
.syoseki_box,
.suisen_box{
  width: 92%;
  margin: 0 auto;
  }

.syoseki_box h3,
.suisen_box h3{
    font-size: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    margin-bottom: 20px;
}
.syoseki_box h3:before{
  content: "";
  background: url(../images/syoseki_icon.svg) no-repeat;
  width: 50px;
  height: 50px;
  display: block;
  background-size: contain;
  margin-right: 5px;
}
.syoseki_box .syoseki_box01{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto 30px auto;
  border-bottom: 1px #d7d7d7 solid;
  padding-bottom: 30px;
}
.syoseki_box .syoseki_box01 img{
  min-width: 0;
}
.syoseki_box .syoseki_box01 img:nth-child(2){
  padding: 0 10px;
}
.suisen_box h3:before{
  content: "";
  background: url(../images/suisen_icon.svg) no-repeat;
  width: 50px;
  height: 50px;
  display: block;
  background-size: contain;
  margin-right: 5px;
}
.suisen_box .suisen_box01{
  display: flex;
  align-items: flex-start;
  border-bottom: 1px #d7d7d7 solid;
  padding-bottom: 30px;
}
.suisen_box .suisen_box01 p {
    flex-shrink: 1.5;
}
/*--------------- #service ---------------*/
#service{
  /* background: linear-gradient(120deg, #a9e6f8 0%, #b6fac3 100%); */
  background: linear-gradient(120deg, rgb(175 255 179 / 60%) 0%, rgb(170 214 255 / 60%) 100%);
  position: relative;
  padding: 100px 4%;
  /*-index: -1;*/
  z-index: 0;
}
#service:before{
  content:"SERVICE";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
  position: absolute;
  top:0;
  left:0;
  color: #fff;
  opacity: 40%;
  display: block;
  line-height: 0.8;
  margin: 0;
  padding: 0;
}
#service .service_sec{
  margin: 40px 0;
}
#service .service_box{
  background: #fff;
  padding: 0;
  position: relative;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  border-radius: 14px;
  margin-bottom: 40px;
  display: block;
}
#service .service_box h3{
  font-size: 2.2rem;
  font-weight: 500;
  color: #3264b2;
  margin-bottom: 10px;
}
#service .service_box_in{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 6%;
}
#service .service_box_txt01 p{
  font-size: 1.8rem;
  font-weight: 500;
  /* width: 100%; */
}
#service .service_box_txt02{
  padding: 0 8% 2rem 8%;
  margin: 0;
}
#service .service_box_in img{
  /* width: 33%; */
}
#service .service_box_btn{
  position: relative;
  right: 0;
  bottom:0;
  width: 50%;
  margin-left: 50%;
  height: 36px;
  padding-top: 4px;
  background: #3264b2;
  color: #fff;
  border-radius: 0 0 6px 0;
}
#service .service_box_btn:after {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-bottom: 36px solid #3264b2;
  /* border-radius: 0 6px 0 0; */
}
#service .service_box_btn span{
  display: flex;
  color: #fff;
  text-decoration: none;
  justify-content: center;
  align-items: center;
}
#service .service_box_btn span:after{
  content: '';
  width: 30px;
  height: 6px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg);
  margin-left: 14px;
}
/*--------------- #price ---------------*/
#price {
    position: relative;
    padding: 120px 4% 30px 4%;
}
#price:before {
    content: "PRICE";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
    position: absolute;
    top: 30px;
    left: 0;
    color: #e7e7e7;
    opacity: 40%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding: 0;
}
#price .price_area{
    text-align: center;
    margin-top: 40px;
}
#price .price_tit {
    padding: 0.5em 20px;
    color: #20365b;
    font-weight: bold; 
    font-size: 1.2em;
}
#price .price_tbl{
	margin: 0 auto 40px;
	border-collapse: collapse;
	width: 100%;
	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	background: #fff;
	border-radius: 10px;
  font-weight: bold; 
}

#price .price_tbl th {
  padding: 10px 0;
  border-bottom: #ffffff 1px solid;
  background: #cef8d6;
  width: 50%;
  text-align: center;
  vertical-align: middle;
}
#price .price_tbl th:first-child {
  border-radius: 10px 0 0 0;
  border-right: #d7d7d7 1px solid;
}
#price .price_tbl th:last-child {
  border-radius: 0 10px 0 0;
}
#price .price_tbl td{
	padding: 10px 0;
	vertical-align: middle;
	border-top: #d7d7d7 1px solid;
	text-align: center;
}
#price .price_tbl td:last-child{
	border-left: #d7d7d7 1px solid;
	color: #3264b2;
}
#price .price_tbl tr:nth-last-child(odd) td{
	background: #eeeeee;
}
#price .price_tbl tr:last-child td:first-child {
  border-radius: 0 0 0 10px;
}
#price .price_tbl tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
#price .price_tbl02{
	margin: 0 auto 10px;
	border-collapse: collapse;
	width: 100%;
	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	background: #fff;
	border-radius: 10px;
  font-weight: bold;
}

#price .price_tbl02 th {
  padding: 10px 0;
  border-right: #d7d7d7 1px solid;
  border-bottom: 1px solid #ffffff;
  background: #cef8d6;
  width: 50%;
  text-align: center;
  vertical-align: middle;
}
#price .price_tbl02 tr:first-child th{
  border-radius: 10px 0 0 0;
}
#price .price_tbl02 tr:last-child th{
  border-radius: 0 0 0 10px;
}

#price .price_tbl02 td{
	padding: 10px 0;
	vertical-align: middle;
	/* font-weight: bold; */
	text-align: center;
}
#price .price_tbl02 tr:nth-child(2) td{
	border-top: #d7d7d7 1px solid;
	border-bottom: #d7d7d7 1px solid;
}

/*--------------- #feature ---------------*/
#feature {
    position: relative;
    padding: 120px 4% 30px 4%;
    overflow: hidden;
}
#feature:before {
    content: "FEATURE";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
    position: absolute;
    top: 30px;
    left: 0;
    color: #e7e7e7;
    opacity: 40%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding: 0;
}
#feature .feature_box{
  margin: 30px 0;
  position: relative;
}
#feature .feature_box:before{
  content: "";
  display: block;
  width: 180px;
  height: 180px;
  position: absolute;
  top: -50px;
  right: -30px;
  background: url(../images/circle_waku_bg.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}

#feature .feature_box:after{
  content: "";
  display: block;
  width: 180px;
  height: 180px;
  position: absolute;
  top: 35%;
  left: -50px;
  background: url(../images/circle_bg.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}

#feature h3{
  font-weight: 500;
  font-size: 2.4rem;
  margin-bottom: 0.75em;
  /* letter-spacing: -1px; */
}
#feature .feature_box img{
  	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  	box-shadow: 0 0 10px 3px rgb(0 0 0 / 10%);
  	border-radius: 10px;
}
#feature .feature_box p img{
  	-webkit-box-shadow: none;
  	box-shadow: none;
  	border-radius: none;
}
#feature .feature_tit{
  margin-top: 20px;
  color: #3264b2;
  font-weight: 400;
  position: relative;
  display: inline-block;
  padding: 0 35px;
  margin: 10px auto 5px auto;
  font-size: 2rem;
  font-family: 'Oswald', sans-serif;
}

#feature .feature_tit:before,
#feature .feature_tit:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 25px;
  height: 2px;
  border-radius:6px;
  background-color: #3264b2;
}

#feature .feature_tit:before {
  left:0;
}
#feature .feature_tit:after {
  right: 0;
}
/*--------------- #about ---------------*/
#about {
    position: relative;
    padding: 120px 4% 30px 4%;
}
#about>img{
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  margin-bottom: 30px;
  border-radius: 10px;
}
#about:before {
    content: "ABOUT";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
    position: absolute;
    top: 30px;
    left: 0;
    color: #e7e7e7;
    opacity: 40%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding: 0;
}
#about h2{
  margin-bottom: 50px;
}
#about dl{
  
} 

#about dl dt{
  color: #3264b2;
  margin-bottom: 5px;
  font-weight: 500;
  font-size: 1.6rem;
}

#about dl dd{
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px #d7d7d7 solid;
}
#about dl ul li{
margin-bottom: 20px;
}
#about dl ul li a{
  color: #3264b2;
  text-decoration: underline;
  display: flex;
  align-items: center;
}
#about dl ul li a.gmap:after{
  content: "";
  background: url(../images/link_icon.svg) no-repeat;
  width: 18px;
  height: 18px;
  display: block;
  background-size: contain;
  margin-left: 5px;
}
/*--------------- #staff ---------------*/
#staff {
    position: relative;
    padding: 120px 0 40px 0;
}
#staff:before {
    content: "STAFF";
    font-family: 'Oswald', sans-serif;
    font-size: 6.6rem;
    font-weight: 200;
    position: absolute;
    top: 20px;
    left: 0;
    color: #e7e7e7;
    opacity: 40%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding: 0;
}
.staff_box_txt{
  background: #f6fafc;
  border-radius: 10px;
  -webkit-box-shadow: 4px 2px 10px 5px rgb(0 0 0 / 7%);
  box-shadow: 4px 2px 10px 5px rgb(0 0 0 / 7%);
  margin-top: -40px;
  z-index:10;
  padding: 60px 20px 20px 20px;
}
.staff_name{
  font-size:1.6rem;
  font-weight: 500;
  border-bottom: 1px solid #3264b2;
  margin-bottom: 10px
}
.staff_kta{
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.7;
}
.staff_en{
  font-family: 'Oswald', sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #3264b2;
}
.staff_link a{
    color: #3264b2;
    text-decoration: underline;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 15px;
} 
.staff_link a::after {
  content: '';
  width: 30px;
  height: 8px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg);
}
/*--------------- #stafflist ---------------*/
#stafflist {
    position: relative;
    padding: 120px 0 40px 0;
}
#stafflist:before {
    content: "STAFF";
    font-family: 'Oswald', sans-serif;
    font-size: 6.6rem;
    font-weight: 200;
    position: absolute;
    top: 20px;
    left: 0;
    color: #e7e7e7;
    opacity: 40%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding: 0;
}
#stafflist .stafflist_area {
  text-align: center;
}
#stafflist .stafflist_tit {
  text-align: left;
  font-weight: bold;
  font-size: 1.5em;
  padding-left: 4%;
  line-height: 1.2;
  color: #000;
  margin: 20px auto;
  display: inline-block;
}
#stafflist .stafflist_tit span {
  color: #3264b2;
  font-size: 0.6em;
}
#stafflist .stafflist_txt {
  padding: 0 4%;
  text-align: left;
}
#stafflist .btn_profile {
  display: block;
  margin: 10px auto 20px;
  width: 80%;
}
#stafflist .btn_profile:hover {
  opacity: 0.5;
}
/*--------------- #message ---------------*/
#message{
  position: relative;
  padding-bottom: 100px;
}
#message .message_tit{display: flex;align-items: center;justify-content: center;color: #ffffff;text-align: left;background: url(../images/message_tit_bg.jpg) no-repeat;background-size: cover;padding: 40px 5% 0 5%;width: 100%;left: 0;/* min-height: 236px;*/}
#message .message_tit img{
  margin-bottom: -20px;
  width: 45%;
  max-width: 160px;
  }
#message:before {
    content: "MESSAGE";
    font-family: 'Oswald', sans-serif;
    font-size: 6.6rem;
    font-weight: 200;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    opacity: 60%;
    display: block;
    line-height: 0.8;
    margin: 0;
    padding-left: 0;
    z-index: 10;
}
#message h2 {
    display: block;
    position: inherit;
    padding: 0;
    left: inherit;
    transform: inherit;
    text-align: left;
    font-size:2.4rem;
    /* width: 60%; */
    margin: 0;
    color: #20365b;
    line-height: 1.5;
}
.message_sec{
  padding: 40px 4% 0 4%;
  line-height: 1.75;
}
.message_sec p{
  margin-bottom: 20px;
}
.profile_sec{
  padding: 0 4%;
}
.profile_tit{
  font-family: 'Oswald', sans-serif;
  font-size: 1.8rem;
  color: #ffffff;
  background: #3264b2;
  position: relative;
  width: 25%;
  height: 30px;
  padding-left: 10px;
  border-radius: 4px 0 0 0;
}
.profile_tit:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 0;
  height: 0;
  border-right: 30px solid transparent;
  border-bottom: 30px solid #3264b2;
}
.profile_txt{
  border-bottom: 2px solid #3264b2;
  border-top: 2px solid #3264b2;
  padding: 20px 10px;
}
/*--------------- #FAQ ---------------*/
#FAQ{
  background: linear-gradient(120deg, rgb(175 255 179 / 60%) 0%, rgb(170 214 255 / 60%) 100%);
  position: relative;
  padding: 100px 0 30px 0;
  margin-bottom: 30px;
}
.FAQ_wrapper{
  width: 92%;
  margin: 0 auto;
  max-width: 1000px;
}
#FAQ:before{
  content:"FAQ";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
  position: absolute;
  top:0;
  left:0;
  color: #fff;
  opacity: 40%;
  display: block;
  line-height: 0.8;
  margin: 0;
  padding: 0;
}
#FAQ h2 {
    margin-bottom: 50px;
}
#FAQ .menu_toggle {
    display: none
}

#FAQ .menu_toggle:checked+.q_box+.content {
    height: auto;
    padding: 20px 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    display: flex;
    align-items: flex-start;
    /* background: #fff; */
    justify-content: space-between;
}

#FAQ .menu_toggle:checked+.q_box .Label::before {
    -webkit-transform: rotate(-45deg)!important;
    transform: rotate(-45deg)!important;
    margin-top: 0;
}
#FAQ .q_box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10px;
  position: relative;
  /* gap: 8px; */
}
#FAQ .q_box p{
  background: #fff;
  position: relative;
  width: 72%;
  z-index: 0;
  padding: 10px;
  border-radius: 10px;
  margin-left: 10px;
}

#FAQ .q_box p:before{
  content:"";
  position: absolute;
  display: inline-block;
  top: 0%;
  left: -32px;
  border: 14px solid transparent;
  border-right: 32px solid #fff;
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
  z-index: -1;
  }

#FAQ .Label {
    display: flex;
    /* margin: 20px 14px 10px 10px; */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: all .3s;
    transition: all .3s;
    background:#3264b2;
    position: relative;
    z-index: 0;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
}

#FAQ .Label::before {
content:"";
display: block;
width: 12px;
height: 12px;
border-top: 2px solid #fff;border-right: 2px solid #fff;
transform: rotate(135deg);
margin-top: -6px;
}

#FAQ .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: all .3s;
    transition: all .3s;
    height: 0;
    margin-bottom: 20px;
    padding: 0 20px;
    overflow: hidden;
    text-align: left
}
#FAQ .content>p
, #FAQ .content>div {
  background: #fff;
  border-radius:10px;
  position: relative;
  width: 82%;
  z-index: 0;
  padding: 5px 10px;
  /* margin-right: 30px; */
}
#FAQ .content>p:before
,#FAQ .content>div:before {
  content:"";
  position: absolute;
  display: inline-block;
  top: 20%;
  right: -34px;
  border: 14px solid transparent;
  border-left: 40px solid #fff;
  -webkit-transform: rotate(20deg);
  transform: rotate(330deg);
  z-index: -1;
  }
#FAQ .content>div>p {
  margin-bottom: .75em;
}
/*--------------------------------------------------------------------
下層ぺージ　共通
--------------------------------------------------------------------*/
#sub_tit_l {
    background: url(../images/sub_title_bg.jpg) no-repeat;
    width: 100%;
    margin-bottom: 50px;
    background-size: cover;
    min-height: 145px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#sub_tit_l h2{
font-size:2.3rem;
font-weight: bold;
}
#sub_tit_s{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
}
#sub_tit_s h3{
margin-bottom:  10px;
font-size:2rem;
font-weight:bold;
text-align: center;
}
.check_area{
  background: url(../images/koushi_bg.png) repeat;
  width:100%;
  padding: 30px 5%;
}
.main_contents{
  padding: 30px 5% 50px 5%;
  line-height: 1.75;
}
.contents_img{
-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    box-shadow: 0 0 10px 3px rgb(0 0 0 / 10%);
    border-radius: 10px;
}
.main_contents p{
margin-bottom: 15px;
}
.sub_img01{
margin-top: 40px;
}
.sub_contact_btn {
    background: linear-gradient(120deg, #a9e6f8 0%, #b6fac3 100%);
    border-radius: 60px;
    padding: 14px 10px;
    font-size: 2.4rem;
    font-weight: bold;
    width: 100%;
    margin: 20px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub_contact_btn:after {
    content: '';
    width: 36px;
    height: 8px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    transform: skew(45deg);
    margin-left: 5px;
}
/*--------------- 下層 h4 ---------------*/
.sub_h4{
  font-size: 2.2rem;
  text-align: center;
  font-weight:bold;
  position: relative;
  display: inline-block;
  padding: 0 60px;
  margin: 40px auto 20px auto;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1.2;
}

.sub_h4:before,
.sub_h4:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 4px;
  border-radius:6px;
  background-color: #d7d7d7;
}

.sub_h4:before {
  left:0;
}
.sub_h4:after {
  right: 0;
}
.sub_tbl{
	margin: 0 auto 40px;
	border-collapse: collapse;
	width: 100%;
	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	background: #fff;
	border-radius: 10px;
}

.sub_tbl th {
  padding: 10px 0;
  border-bottom: #ffffff 1px solid;
  background: #cef8d6;
  width: 50%;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
.sub_tbl th:first-child {
  border-radius: 10px 0 0 0;
  border-right: #d7d7d7 1px solid;
}
.sub_tbl th:last-child {
  border-radius: 0 10px 0 0;
}
.sub_tbl td{
	padding: 10px;
	vertical-align: middle;
	border-top: #d7d7d7 1px solid;
	text-align: center;
}
.sub_tbl td:last-child{
	border-left: #d7d7d7 1px solid;
}
.sub_tbl tr:last-child td:first-child {
  border-radius: 0 0 0 10px;
}
.sub_tbl tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.check_list {
margin-top: 20px;
}
.check_list li {
    background: url(../images/check_01.png) left top no-repeat;
    background-size: 30px 25px;
    padding-bottom: 5px;
    padding-left: 35px;
    margin-bottom: 15px;
    font-size: 1.6rem;
}
/*--------------------------------------------------------------------
shinkoku.html
--------------------------------------------------------------------*/
.shinkoku_p_list {
margin-top: 20px;
}
.shinkoku_p_list li {
  counter-increment: title;
  margin-bottom: 15px;
    font-size: 1.6rem;

}
.shinkoku_p_list li::before {
  content: "0"counter(title);
  background: url("../images/list_icon01.svg") no-repeat;
  color:#ffffff;
  padding: 5px 25px 5px 5px;
  background-size:cover;
  margin-right: 5px;
  }
  
/*--------------------------------------------------------------------
staffページ
--------------------------------------------------------------------*/  
.staf_box {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 40px;
}
.staf_box dt{
 background: #f6fafc;
 border-top: 4px solid #00ace1;
 border-radius:6px;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 20px 0;
}
.staf_box dt img{
margin-right: 30px;
}
.staf_box dd{
    background: url(../images/koushi_bg.png) repeat;
    margin: 0 auto;
    padding: 2em 5%;
    line-height: 1.75;
}
.staf_box dd p{
margin-bottom: 10px;
}
/*--------------------------------------------------------------------
無料相談ページ
--------------------------------------------------------------------*/  
.to_contact_btn{
    background: #ffbd5f;
    border-radius: 60px;
    padding: 14px 10px;
    font-size: 2rem;
    font-weight: bold;
    width: 70%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 30px;
}
.to_contact_btn:after{
  content: "";
  display: block;
    width: 12px;
    height: 12px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    margin-left: 15px;
    margin-top: -5px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.soudan_img_sec{
  display:flex;
  align-content: center;
  justify-content: center;
}
.soudan_img_sec img:first-child{
  margin-right: 20px;
  }
.check_list_soudan{
  background: #ffffff;
  padding: 2rem 5%;
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    border-radius: 14px;
    margin-top: 20px;
}
.check_list_soudan li {
    background: url(../images/check_01.png) left top no-repeat;
    background-size: 30px 25px;
    padding-bottom: 5px;
    padding-left: 35px;
    margin-bottom: 15px;
    font-size: 1.6rem;
    border-bottom: 1px solid #e5e5e5;
}
.soudan_tit{
  background: #00ace1;
  padding: 20px 0;
  text-align: center;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
}
.soudan_tit:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -30px;
  border: 20px solid transparent;
  border-top: 15px solid #00ace1;
}
.soudan_tit_tel,
.soudan_tit_mail{
 border-bottom: 2px solid #00ace1;
 display: flex;
 align-items: center;
 justify-content: flex-start;
  font-size:1.8rem;
  font-weight: bold;
  color: #00ace1;
}
.soudan_tit_tel:before{
  content:"";
  display: block;
  background: url("../images/tel_icon.png") no-repeat;
  background-size:cover;
  width:40px;
  height: 40px;
  margin-bottom: 10px;
  margin-right: 10px;
  }
.soudan_tit_mail:before{
  content:"";
  display: block;
  background: url("../images/mail_icon.png") no-repeat;
  background-size:cover;
  width:42px;
  height: 41px;
  margin-bottom: 10px;
  margin-right: 10px;
  }

.soudan_or_txt{
  color: #ffb245;
  font-size:1.6rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
  .soudan_or_txt::before {
    margin-right: 12px;
    transform: rotate(-35deg);
}
  .soudan_or_txt::after {
    margin-left: 12px;
    transform: rotate(35deg);
}

  .soudan_or_txt::before,
  .soudan_or_txt::after {
    content: '';
    display: block;
    width: 2px;
    height: 20px;
    background-color: #ffb245;
}
.tel_btn{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:2.4rem;
    background: #ffbd5f;
    border-radius: 60px;
    padding: 14px 10px;
    font-weight: bold;
    margin-bottom: 40px;
    }


/*--------------------------------------------------------------------
フォーム
--------------------------------------------------------------------*/ 
.form_sec02{
  width: 310px;
  vertical-align: middle;
  font-size:1.5em;
  color:#024eae;
  font-weight:bold;
  margin: 20px auto 10px auto;
  display: flex;
  line-height: 1.1;
}
.form_r{
  padding: 10px 0 0 7px;
}
.form_txt{
  width: 310px;
  font-size:1.7rem;
  line-height: 1.2em;
  margin: 0 auto 10px auto;
}
.form_hr{
  border-top:1px solid #D8D8D8;
  margin: 10px auto;
}
.form_mgb40{
  margin-bottom:40px!important;
}
input, select {
    vertical-align:middle;
	font-size: 120%;
}
input[type=checkbox] {
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
}
input[type=radio] {
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
}
label {
    line-height: 2.5;
	font-size: 1.2em;
}

/*--------------------------------------------------------------------
下層ページレイアウト
--------------------------------------------------------------------*/ 
/* 下層共通 */
.kaso_in {
  padding: 0 15px;
}
.kaso_in p {
  line-height: 1.6;
}
.kaso_in p:not(:last-child) {
  margin-bottom: 1.0em;
}

.imgleft
,.imgright {
  width: 100vw;
  left: 50%;
  position: relative;
  transform: translateX(-50%);
}
.imgleft {
  padding-right: 15px;
}
.imgright {
  padding-left: 15px;
}

.kaso_in h4 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 30px 0 10px;
}

.kasodl dt {
  position: relative;
  color: #195cc6;
  border-bottom: 1px solid #195cc6;
  margin-top: 30px;
  margin-bottom: 5px;
  font-size: 1.1em;
  padding-left: 45px;
  padding-bottom: 5px;
  line-height: 1.3;
}
.kasodl dt:first-of-type:before
, .kasodl dt:nth-of-type(2):before
, .kasodl dt:nth-of-type(3):before
, .kasodl dt:nth-of-type(4):before
, .kasodl dt:nth-of-type(5):before {
  position: absolute;
  content: '';
  display: inline-block;
  width: 40px;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  bottom: 5px;
}
.kasodl dt:first-of-type:before {
  background-image: url(../images/service/no01.png);
}
.kasodl dt:nth-of-type(2):before {
  background-image: url(../images/service/no02.png);
}
.kasodl dt:nth-of-type(3):before {
  background-image: url(../images/service/no03.png);
}
.kasodl dt:nth-of-type(4):before {
  background-image: url(../images/service/no04.png);
}
.kasodl dt:nth-of-type(5):before {
  background-image: url(../images/service/no05.png);
}


.kasodl dd {
  margin-bottom: 15px;
}

.txt_u {  
  background: linear-gradient(to right, #ffe763 0%, #ffe763 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 30%;
  font-weight: bold;
}
.txt_bl02 {
	color: #3264b2;
}

table.tbl01 {
  margin: 0 auto 10px;
  border-collapse: collapse;
  width: 100%;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  background: #fff;
  border-radius: 10px;
}
table.tbl01 th {
  padding: 10px;
  background: #cef8d6;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  border-right: #d7d7d7 1px solid;
  border-bottom: 1px solid #ffffff;
}
table.tbl01 tr:first-child th:first-child {
  border-top-left-radius: 10px;
}
table.tbl01 tr:first-child th:last-child {
  border-top-right-radius: 10px;
  border-right: none;
}
table.tbl01 tr:last-child th {
  border-bottom-left-radius: 10px;
}
table.tbl01 tr.coltitle th:first-child {
  border-top-left-radius: 10px;
}
table.tbl01 tr td {
  padding: 10px 10px 20px;
}
table.tbl01 tr:not(:last-child) td{
  border-bottom: #d7d7d7 1px solid;
}

ul.lst_chk {
  margin: 0 auto 30px;
  width: 100%;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
  background: #fff;
  border-radius: 10px;
  padding: 10px 15px 20px 15px;
}
ul.lst_chk li {
  background: url(../images/service/check03.png) no-repeat left 2px;
  background-size: 22px;
  padding-left: 30px;
  padding-bottom: 3px;
  font-size: 1.6rem;
  margin-top: 15px;
  border-bottom: 1px dashed #dedede;
}

ul.disc {
  margin-left: 20px;
}
ul.disc li {
  list-style: disc;
  margin-bottom: 10px;
}

ul.decimal {
  margin-left: 20px;
}
ul.decimal li {
  list-style: decimal;
  margin-bottom: 10px;
}

/* FV */
#kaso_tit {
  background: #fffceb url(../images/service/main_bg.png) no-repeat center bottom;
  background-size: cover;
  min-height: 220px;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 40px;
}
#kaso_tit h1 {
  font-size: 2.3em;
  font-weight: bold;
  color: #016199;
  letter-spacing: .05em;
  line-height: 1.1;
}
#kaso_tit ul {
  text-align: left;
  display: inline-block;
  margin-top: 20px;
}
#kaso_tit ul li {
  background: url(../images/service/check01.png) no-repeat left center;
  background-size: 22px;
  padding-left: 30px;
  margin-bottom: 7px;
}
#kaso_tit ul li span {
  border-bottom: 2px dashed #13aef5;
}

/* トップエリア */
.top_catch {
  font-size: 1.3em;
  letter-spacing: 0.04em;
  font-weight: bold;
  color: #20365b;
  margin-bottom: 20px;
}

#kaso_top {
  background: #fffceb;
  padding: 30px 15px;
}
.nayami {
  margin-bottom: 30px;
}
.nayami .nayami_tit {
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
  position: relative;
  max-width: 350px;
  margin: 0 auto;
}
.nayami .nayami_tit p {
  padding-right: 20px;
}
.nayami .nayami_tit .nayami_img {
  position: absolute;
  top: 15px;
  right: 10px;
  transform: rotate(60deg);
}
.nayami ul {
  max-width: 350px;
  margin: 0 auto;
  padding: 0 10px;
}
.nayami ul li {
  background: url(../images/service/check02.png) no-repeat left center;
  background-size: 27px;
  padding-left: 32px;
  margin-top: 10px;
}
.nayami .txt_exa {
  color: #3264b2;
  font-weight: bold;
}
#kaso_top .msg {
  padding: 0 10px;
}
#kaso_top .msg p:not(:last-child) {
  margin-bottom: 1em;
}


/* 内容エリア */
.kaso_naiyobg01 {
  background: #FFF;
  padding-bottom: 30px;
}
.kaso_naiyobg02 {
  background: #fffceb;
  padding-bottom: 30px;
}

.kaso_naiyo_tit {
  background: #009fe8;
  padding: 15px 0 20px;
  position: relative;
  margin-bottom: 40px;
  text-align: center;
}
.kaso_naiyo_tit:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -20px;
  border: 25px solid transparent;
  border-top: 20px solid #009fe8;
}
.kaso_naiyo_tit img {
  max-width: 80%;
}



/*--------------------------------------------------------------------
 レスポンシブ下部固定 新バージョン
--------------------------------------------------------------------*/
.ftbtn {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  color: #FFF;
  font-size: 100%;
  z-index: 999;
  transform: translateY(100px);
  transition: 1.5s;
  opacity: 0;
}
.ftbtn.fadeinanime {
  transform: translateY(0);
  transition: 1.5s;
  opacity: 1;
}
.ftbtn a {
  width: 100%;
  display: block;
  text-decoration: none;
}
.ftbtn .ftbtn_con {
  display: flex;
  flex-wrap: wrap;
}
.ftbtn .ftbtn_tel {
  width: 100%;
  background-color: #195cc6;
  padding: .78% 1%;
}
.ftbtn .ftbtn_tel a {
  padding: 0;
  line-height: 1.2;
}
.ftbtn .ftbtn_tel a .ftbtn_tel_no {
  font-size: 1.5em;
  font-weight: bold;
  position: relative;
  margin-left: 20px;
}
.ftbtn .ftbtn_tel a .ftbtn_tel_no:before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../images/footer_tel.png) no-repeat;
  background-size: contain;
  width: 29px;
  height: 50px;
  left: -35px;
  top: 9px;
}
.ftbtn .ftbtn_tel a .ftbtn_tel_msg {
  font-size: .85em;
  margin-bottom: 0;
  font-weight: normal;
  line-height: 1.5;
  margin-left: 20px;
}
.ftbtn .ftbtn_mail
, .ftbtn .ftbtn_line {
  width: 50%;
  font-weight: 700;
  font-size: 0.9em;
  padding: 2.605% 0 !important;
}
.ftbtn .ftbtn_mail {
  background: #52b7f0;
}
.ftbtn .ftbtn_line {
  background: #06c755;
}
.ftbtn .ftbtn_mail a span  {
  position: relative;
  margin-left: 30px;
}
.ftbtn .ftbtn_mail a span:before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../images/footer_mail.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  left: -32px;
  top: 0;
}
.ftbtn .ftbtn_line a span {
  position: relative;
  margin-left: 33px;
}
.ftbtn .ftbtn_line a span:before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../images/footer_line.png) no-repeat;
  background-size: contain;
  width: 25px;
  height: 30px;
  left: -33px;
  top: -2px;
}


.toaccess {
  display: block;
  margin: 10px auto 20px;
  width: 87%;
}

.top_sec03_graph {
  background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%);
  padding: 10px 20px;
}

#example {
  margin-top: -50px;
  z-index: 1;
  position: relative;
}



/*--------------------------------------------------------------------
　紹介動画ページ（一覧）
--------------------------------------------------------------------*/
#proflist #sub_tit_l {
  margin-bottom: 0;
}
.proflist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 800px;
  margin: 0 auto 30px;
  padding: 30px 15px;
/*  background-color: #eef4fe;
  background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%);*/
}
.proflist .proflist_in {
  box-sizing: border-box;
  width: 49%;
  border: 1px solid #20365b;
  border-radius: 10px;
  margin-bottom: 10px;
  padding: 7px;
  text-align: center;
  background-color: #FFF;
  box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}
.proflist .proflist_in p {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  margin: 10px 0;
}
.proflist .proflist_in p span {
  font-size: .65em;
  font-weight: normal;
  display: block;
}
.proflist a {
  display: block;
  margin-top: 10px;
  padding: 8px 0;
  background: #20365b;
/*  background: linear-gradient(120deg, rgb(202 248 205) 0%, rgb(170 198 244) 100%);*/
  border: #20365b 1px solid;
  color: #FFF;
  font-weight: bold;
  border-radius: 50px;
}
.proflist i {
  margin-right: 5px;
}

/*--------------------------------------------------------------------
　紹介動画ページ（個別）
--------------------------------------------------------------------*/
.profbox * {
  box-sizing: border-box;
}
.profbox {
  max-width: 800px;
  width: 90%;
  margin: 30px auto;
}
.profbox .profbox_name {
  background: #f6fafc;
  border-top: 4px solid #20365b;
  border-radius: 6px;
  padding: 20px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.profbox .profbox_name img {
  width: 50%;
  max-width: 250px;
  border-radius: 100%;
  padding: 0 5%;
}
.profbox .profbox_name h2 {
  width: 50%;
  font-size: 27px;
  line-height: 1;
}
.profbox .profbox_name iframe {
  width: 90%;
  height: 202px;
  margin: 20px auto;
}
.profbox table {
  border-collapse: collapse;
  margin: 0 auto;
  width: 100%;
  text-align: left;
}
.profbox table th {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #cacaca;
  background: #20365b;
  color: #FFF;
}
.profbox table td {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #cacaca;
  background: #FFF;
}
.profbox a {
  display: block;
  margin: 30px 0 100px;
  padding: 8px 0;
  background: #20365b;
  border: #665c56 1px solid;
  color: #FFF;
  font-weight: bold;
  border-radius: 50px;
  text-align: center;
}



/*--------------------------------------------------------------------
　無料相談について
--------------------------------------------------------------------*/
#sodan {
  position: relative;
  padding: 50px 0 0;
}
#sodan:before {
  content: "CONSULATION";
  font-family: 'Oswald', sans-serif;
  font-size: 6.6rem;
  font-weight: 200;
  position: absolute;
  top: 30px;
  left: 0;
  color: #e7e7e7;
  opacity: 40%;
  display: block;
  line-height: 0.8;
  margin: 0;
  padding: 0;
}
#sodan .sodan_in {
  margin-bottom: 60px;
}
#sodan .sodan_in .sodan_point {
  display: flex;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 30px;
  padding: 0 4%;
}
#sodan .sodan_in .sodan_point .sodan_point_img {
  width: 22%;
  min-width: 76px;
}
#sodan .sodan_in .sodan_point .sodan_point_tit {
  text-align: left;
  font-weight: bold;
  font-size: 1.37em;
  padding-left: 4%;
  line-height: 1.2;
  color: #000;
}
#sodan .sodan_in .sodan_point .sodan_point_tit span {
  color: #0042ad;
  font-size: 0.6em;
}
#sodan .sodan_in .sodan_point_txt {
  padding: 0 4%;
}
#sodan .sodan_in .sodan_point_txt p {
  margin-bottom: 15px;
}
#sodan .btn_profile {
    display: block;
    margin: 10px auto 20px;
    width: 80%;
}