/*-------------------------------------------------------------------
	
	レイアウト

-------------------------------------------------------------------*/
.right {
	text-align: right;
	}
.left {
	text-align: left;
	}
.center {
	margin:0 auto!important;
	}
.center_text {
	text-align:center;
	}
.f_left {
	float:left;
}
.f_right {
	float: right;
}
.font-b {
	font-weight: bold;
}

.font-40 {
	font-size: 4.0rem;
	line-height: 1.4;
	font-weight: bold;
}

.font-38 {
	font-size: 3.8rem;
	line-height: 1.4;
	font-weight: bold;
}

.font-30 {
	font-size: 3.0rem;
	line-height: 1.4;
	font-weight: bold;
}

.font-24 {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
}
.font-22 {
	font-size: 2.2rem;
	line-height: 1.4;
	font-weight: bold;
}
.font-20 {
	font-size: 2rem;
	line-height: 1.2;
	font-weight: bold;
}
.font-18 {
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: bold;
}
.font-16 {
	font-size: 1.6rem;
	line-height: 1.4;
}
.font-14 {
	font-size: 1.4rem;
	line-height: 1.8;
}
.font-12 {
	font-size: 1.2rem;
	line-height: 1.4;
}

.bg-white {
	background-color:#fff;
}
.bg-gray {
	background-color:#ebeae5;
}
.bg-flow {
	background-color:#fdfbf8;
}
.bg-mv {
	background-color:#fefbeb;
}



.f-bk {
	color:#000;
}
.f-white {
	color:#fff;
}
.f-orange {
	color: #f26b1a;
}
.f-green {
	color:#55afba;
}

.f-price {
	color:#eb5800;
}






/*マージン設定　----------------------------------------------------------*/
.mb15 {
	margin-bottom:15px;
	}
.mb20 {
	margin-bottom:20px;
	}
.mb30 {
	margin-bottom:30px;
	}
.mb40 {
	margin-bottom:40px;
	}
.mb60 {
	margin-bottom:60px;
	}
.mb100 {
	margin-bottom:100px;
	}
.mt20 {
	margin-top:20px;
	}
.mt40 {
	margin-top:40px;
	}
.mt50 {
	margin-top:50px;
	}
.mt60 {
	margin-top:60px;
	}
.mt80 {
	margin-top:80px;
	}
.mt100 {
	margin-top:100px;
	}
.pt05 {
	padding-top:5px;
	}
.pt10 {
	padding-top:10px;
	}
.pt20 {
	padding-top:20px;
	}
.pt30 {
	padding-top:30px;
	}
.pt40 {
	padding-top:40px;
	}
.pt60 {
	padding-top:60px;
	}
.pt80 {
	padding-top:80px;
	}
.pt100 {
	padding-top:100px;
	}
.pt160 {
	padding-top:160px;
	}
.pb05 {
	padding-bottom:5px;
	}
.pb10 {
	padding-bottom:10px;
	}
.pb20 {
	padding-bottom:20px;
	}
.pb30 {
	padding-bottom:30px;
	}
.pb40 {
	padding-bottom:40px;
	}
.pb60 {
	padding-bottom:60px;
	}
.pb100 {
	padding-bottom:100px;
	}
.pr15 {
	padding-right:15px;
	}
.pl15 {
	padding-left:15px;
	}
.ml30 {
	margin-left:30px;
	}
.ml40 {
	margin-left:40px;
	}


@media (min-width:768px){
.box {
 margin: 0 auto!important;
 background-color: #fef4d9;
 padding: 5px 5px;
 border-radius: 10px;
}
.box-2 {
 margin: 0 auto!important;
 background-color: #fff;
 padding: 20px 20px;
 border-radius: 10px;
}
.box-3 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-image: url('../imgs/bg-q02.jpg');
background-size: cover;
}
.box-point01 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-image: url('../imgs/bg-point01.jpg');
background-size: cover;
height: 270px;
}
.box-point02 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-image: url('../imgs/bg-point02.jpg');
background-size: cover;
height: 270px;
}
}

@media (max-width:767px){
.box {
 margin: 0 auto!important;
 background-color: #fef4d9;
 padding: 5px 5px;
 border-radius: 10px;
}
.box-2 {
 margin: 0 auto!important;
 background-color: #fff;
 padding: 15px 15px;
 border-radius: 10px;
}
.box-3 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-image: url('../imgs/sp-bg-q02.jpg');
background-size: cover;
}
.box-point01 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-color: #fff;
}
.box-point02 {
 margin: 0 auto!important;
 padding: 20px 20px;
 border-radius: 10px;
background-color: #fff;
}
}





.img-fluid {
	width:100%;
	height:auto;
	vertical-align: bottom!important;
	}




/*　SP/PC 個別設定　*/
@media only screen and (min-width:768px) {
.title {
	font-size: 34px;
	font-weight: bold;
	line-height: 1.6;
}
.title-2 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
}
.space {
	padding: 60px 0;
	}
.asize {
	width: 80px;	
	}
.arrowsize {
	width: 80px;	
	}	
	
.smallsize {
	width: 100%;	
	text-align: center;
	}	
	
/*　質問数の見出し　*/
.qnum{
    border-radius: 100px;
    display: block;
	margin: 0 auto;
    width: 200px;
	font-size: 40px;
    padding: 0 20px;
    box-sizing: border-box;
    background: #f9f1e5;
	border: solid 2px #f26b1a;
    text-align: center;
}
}

@media only screen and (max-width:767px) {
.title {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}
.title-2 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.space {
	padding: 50px 0;
	}
.asize {
	width: 80px;	
	}
.arrowsize {
	width: 70px;	
	}
/*　質問数の見出し　*/
.qnum{
	margin: 0 auto;
    border-radius: 100px;
    display: block;
    width: 40%;
	font-size: 26px;
    padding: 0 20px;
    box-sizing: border-box;
    background: #f9f1e5;
	border: solid 2px #f26b1a;
    text-align: center;
}
.smallsize {
	width: 70%;	
	text-align: center;
	margin: 0 auto;
	padding-bottom: 10px;
	}	
}

/*以下コンテンツ----------------------------------------------------------*/


/*　メイン　*/

.container-main {
    width: 100%;
	margin: 0 auto;
  }
.container-main-2 {
    width: 600px;
	margin: 0 auto;
  }
.container-main-3 {
    width: 500px;
	margin: 0 auto;
  }


@media only screen and (max-width:767px)  {
  .container-main {
    width: 100%;
	margin: 0 auto;
  }
  .container-main-2 {
    width: 90%;
	margin: 0 auto;
  }
  .container-main-3 {
    width: 80%;
	margin: 0 auto; 
  }
}




/*　カラムコンテンツ　*/
.container-flex {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.container-flex-100 {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.column-left-2 {
  width: 30%;
  padding: 15px 15px;
  box-sizing: border-box;
}
.column-right-2 {
  width: 70%;
  padding: 15px 15px;
  box-sizing: border-box;
}

.column-left-2-2 {
  width: 60%;
  box-sizing: border-box;
}
.column-right-2-2 {
  width: 40%;
  box-sizing: border-box;
}

.column-1 {
  width: 25%;
  padding: 10px 10px;
  box-sizing: border-box;
}
.column-2 {
  width: 25%;
  padding: 10px 10px;
  box-sizing: border-box;
}
.column-3 {
  width: 25%;
  padding: 10px 10px;
  box-sizing: border-box;
}
.column-4 {
  width: 25%;
  padding: 10px 10px;
  box-sizing: border-box;
}


.column-left-3 {
  width: 33.33%;
  padding: 10px 10px;
  box-sizing: border-box;
}
.column-center-3 {
  width: 33.33%;
  padding: 10px 10px;
  box-sizing: border-box;
}
.column-right-3 {
  width: 33.33%;
  padding: 10px 10px;
  box-sizing: border-box;
}


@media only screen and (max-width: 767px) {
.container-flex {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  }
.container-flex-100 {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
  .column-left-2 {
    width: 100%;
    padding: 0px;
  }
  .column-right-2 {
    width: 100%;
    padding: 0px;
  }
	
  .column-left-2-2 {
    width: 100%;
    padding: 0px;
  }
  .column-right-2-2 {
    width: 100%;
    padding: 0px;
  }
	
.column-1 {
  width: 50%;
  padding: 10px 5px;
}	
.column-2 {
  width: 50%;
  padding: 10px 5px;
}	
.column-3 {
  width: 50%;
  padding: 10px 5px;
}	
.column-4 {
  width: 50%;
  padding: 10px 5px;
}	

  .column-left-3 {
    width: 100%;
    padding: 0px;
  }
  .column-center-3 {
    width: 100%;
    padding: 0px;
  }
  .column-right-3 {
    width: 100%;
    padding: 0px;
  }
	
}







/*　テーブル　*/
table {
  font-size: 14px;
  width: 100%;fon
  margin: 20px auto;
}
.tbl-r02 tr {

}
.tbl-r02 th {
  background: #ebeae5;
  padding: 10px;
  border: solid 1px #9a9a9a;
}
.tbl-r02 td {
  padding: 10px;
  border-bottom: solid 1px #9a9a9a;
  border-top: solid 1px #9a9a9a;
  border-right: solid 1px #9a9a9a;
}
 



/*　背景画像　*/
@media (min-width:768px){
.bg-q01 {
background-image: url('../imgs/bg-a01.jpg');
background-size: cover;
background-position: center;
	}	
}

@media (max-width:767px){
.bg-q01 {
background-image: url('../imgs/sp-bg-a01.jpg');
background-size: cover;
background-position: center;
	}	
}


@media (min-width:768px){
.bg-q03 {
width: 100%;
background-image: url('../imgs/bg-q03.jpg');
background-repeat: no-repeat;
background-color: #fbfaf6;
background-size: contain;
	}	
}

@media (max-width:767px){
.bg-q03 {
width: 100%;
background-image: url('../imgs/sp-bg-q03.jpg');
background-repeat: no-repeat;
background-position: top;
background-size: contain;
background-color: #fbfaf6;
	}	
}



@media (min-width:768px){
.bg-q04 {
width: 100%;
background-image: url('../imgs/bg-q04.jpg');
background-repeat: no-repeat;
background-color: #fdfbf8;
background-size: contain;
	}	
}

@media (max-width:767px){
.bg-q04 {
width: 100%;
background-image: url('../imgs/sp-bg-q04.jpg');
background-repeat: no-repeat;
background-position: top;
background-color: #fdfbf8;
	}	
}


@media (min-width:768px){
.bg-q04-2 {
width: 100%;
background-image: url('../imgs/bg-q04-2.jpg');
background-repeat: no-repeat;
background-color: #fdfbf8;
background-size: cover;
	}	
}

@media (max-width:767px){
.bg-q04-2 {
width: 100%;
background-image: url('../imgs/sp-bg-q04-2.jpg');
background-repeat: no-repeat;
background-color: #fdfbf8;
background-size: cover;
	}	
}


.bg-point {
background-image: url('../imgs/bg-pont.jpg');
background-size: cover;
background-position: center;
	}	



.bg-dot {
background-image: url('../imgs/bg-dot.jpg');
background-position: center;
	}	


.bg-footer {
background-image: url('../imgs/bg-footer.jpg');
background-size: cover;
background-position: center;
	}	




/*　上下線　見出し　*/
.access {
    padding: 0.8rem 0;
    margin-bottom: 0.2rem;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-weight: bold;
}


/* FAQ区切り線リセットCSS */
.hr2 {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;title
}
.hr2 {
  border-top: 3px dashed #8e7e3e;
}


/*　テキストにアンダーライン、蛍光マーカー　*/
.underline01 {
  background: #fef4d9;
}

.underline02 {
  background: linear-gradient(transparent 40%, #fef4d9 60%);
}

.underline03 {
  background: linear-gradient(transparent 80%, #fef4d9 20%);
}

/*　テキストにアンダーラインのアニメーション　*/
.anim-underline01 {
  position: relative;
}

.anim-underline01::before {
  content:"";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent 40%, #fef4d9 60%);
  animation: underlineAnim 2s ease-in;
  z-index: -1;
}

@keyframes underlineAnim {
  0% {
    right: 100%;
  }
  100% {
    right: 0;
  }
}


/*　LP用ロゴ（今だけ使用）　*/
.pc-logo {
	width: 450px;
}


/*　サイト内メニュー　*/
.in-menu {
    display: flex;
    align-items: center;
    gap: 0 10px;
    padding: .1em;
}

.in-menu::before {
    transform: rotate(-45deg);
    width: .4em;
    height: .4em;
    border-bottom: 3px solid #55afba;
    border-right: 3px solid #55afba;
    content: '';
}

 .flexbox-menu {
     display: flex;
	 font-size: 14px;
 }
 .box-menu1 {
     width: 33%;
     margin: auto;
 }
 .box-menu2 {
     width: 80%;
     margin: auto .1rem;
 }
 @media screen and (max-width: 767px) {
     .flexbox-menu {
         display: block;
     }
     .flexbox .box-menu1 {
         width: 100%;
         margin: 0 auto;
     }
     .flexbox .box-menu2 {
         width: 100%;
         margin: 0 auto;
     }
 }


/*　大見出し　*/
.heading {
    position: relative;
	margin: 0 auto;
    padding: .5em 1em;
    color: #476080;
	text-align: center;
}

.heading::before,
.heading::after {
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 100%;
    border: 2px solid #476080;
    box-sizing: border-box;
    content: '';
}

.heading::before {
    top: 0;
    left: 0;
    border-right: none;
}

.heading::after {
    bottom: 0;
    right: 0;
    border-left: none;
}



/*　小見出し　*/
.heading-s {
    display: inline-block;
    position: relative;
}

.heading-s:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background-color: #476080;
}


/*　括弧　*/
.brackets {
	margin: 0 auto;
    position: relative;
    padding: .7em 1.3em;
	font-weight: bold;
}

.brackets::before,
.brackets::after {
    display: inline-block;
    position: absolute;
    width: 1em;
    height: 1em;
    content: '';
}

.brackets::before {
    top: 0;
    left: 0;
    border-top: 2px solid #55afba;
    border-left: 2px solid #55afba;
}

.brackets::after {
    bottom: 0;
    right: 0;
    border-bottom: 2px solid #55afba;
    border-right: 2px solid #55afba;
}


/*　シンプルリスト　*/
.list {
    list-style-type: disc;
}

.list li {
    padding: .5em;
}

.list li:not(:last-child) {
    border-bottom: 1px dashed #55afba;
}

.list li::marker {
    color: #55afba;
    font-size: 1.1em;
}


/*　チェックマーク　リスト　*/
.list-c {
    list-style-type: none;
}

.list-c li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
}

.list-c li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #476080;
    border-left: 2px solid #476080;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

/*　下向き矢印　線だけ　*/
.dli-chevron-down {
  display: inline-block;
  vertical-align: middle;
  color: #a3d4da;
  line-height: 1;
  width: 2em;
  height: 2em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}


/*　料金表　*/
.table_design03 {
  border-collapse: collapse;
  width: 100%;
  max-width: 880px;
}
.table_design03 th, .table_design03 td {
  border-bottom: 2px solid #c1c7c6;
  padding: 1em;
}
.table_design03 th {
  border-bottom: 2px solid #55afba;;
  font-weight: bold;
  width: 60%;
  min-width: 4em;
}



/*　流れの見出し　*/
.heading-flow {
    display: inline-block;
    position: relative;
    padding: 0 5em;
    color: #746c64;
}

.heading-flow::before,
.heading-flow::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 45px;
    height: 3px;
    background-color: #746c64;
}

.heading-flow::before {
    left: 0;
}

.heading-flow::after {
    right: 0;
}