@charset "utf-8";
/*===========================
add
===========================*/

/* 基本カラー  */

.fcBasic {
	color:#1a9962;
}

.pc-disp {
    display:block;
}
.sp-disp {
    display:none; 
}
@media only screen and (max-width: 768px) {
.pc-disp {
    display:none;
}
.sp-disp {
    display:block; 
}
}
.p-ttl {
	 color:var(--basic-color);
	 font-size:1.3em;
	 font-weight:800;
	 text-align: center;
	 padding-bottom:0.3em;
	 border-bottom:0px solid var(--basic-color);
	 position: relative;
}
.p-ttl::after {
	 content:'';
	 position:absolute;
	 width:18vw;
	 height:1px;
	 background: var(--basic-color);
	 bottom: 9%;
   left: 11%;
}
.p-ttl02 {
	 	 color:var(--basic-color);
	 font-size:1.2em;
	 font-weight:800;

}
.p-ttl03 {
	 color:var(--basic-color);
	 font-size:1.2em;
	 font-weight:800;
	 text-align: center;
}
.p-ttl05 {
	 color:var(--basic-color);
	 font-size:1.3em;
	 font-weight:800;
	 text-align: center;
	 padding-bottom:0.3em;
	 border-bottom:1px solid var(--basic-color);
}
@media only screen and (max-width: 768px) {
.p-ttl {
	 font-size:1.2em;
	 padding-bottom:0.3em;
}

.p-ttl02 {
	 font-size:1.1em;

}
.p-ttl03 {
	 font-size:1.1em;
}
.p-ttl05 {
	 font-size:1.1em;
}

}
.box-wrap {
	 background:#eef8fb;
	 padding:0.8em 0.8em 0.8em;
}
.box-cnt {
	 background:#eef8fb;
	 padding:0.8em 0.8em 0.8em;
}
.box-cnt02 {
	 width:90%;
	 margin:auto;
	 padding:0.8em 0.8em 0.8em;
}
.circle-p-rel {
    position: relative;
}
.circle-p {
    color: var(--basic-color);
	  font-weight: 600;
    padding-top: 2em;
	  padding-bottom:0.5em;
    font-size: 1.4em;
}
.circle-p::before {
    position: absolute;
    content: '';
    width: 5.4rem;
    height: 5.4rem;
    left: 10%;
    margin-left: -2.7rem;
    top: -0.3em;
    border-radius: 2.7rem;
	  border:2px solid var(--basic-color);
    color: var(--basic-color);
}
.circle-p.no1::before {
    content: '1';
    font-size: 1.6em;
	  font-weight: bold;
    padding: 0.7em 0.5em 0;
    line-height: 1;
    box-sizing: border-box;
}
.circle-p.no2::before {
    content: '2';
    font-size: 1.6em;
	  font-weight: bold;
    padding: 0.7em 0.5em 0;
    line-height: 1;
    box-sizing: border-box;
}
.circle-p.no3::before {
    content: '3';
    font-size: 1.6em;
	  font-weight: bold;
    padding: 0.7em 0.5em 0;
    line-height: 1;
    box-sizing: border-box;
}
ol.num_order {
 padding-left:20px;
}
ol.num_order li {
    padding: 5px 0 4px 0;
	  margin-bottom:0.5em;
    list-style-type: decimal;
	  color:var(--basic-color);
	  font-size:110%;
	
}
.num_start {
	 color:var(--basic-color);
	 font-size:120%;
	 font-weight: bold;
}
.num_cnt {
	 color:#333;
	 font-size:90%;
	 font-weight: normal;
}
@media only screen and (max-width: 768px) {
.p-ttl::after {
	 width:80vw;
	 bottom:5%;
	 left:10%;
}
.circle-p {
    padding-top: 2em;
    font-size: 1.2em;
}
.circle-p.no1::before,.circle-p.no2::before,.circle-p.no3::before {
      font-size: 1.6em;
      font-weight: bold;
      padding: 0.6em 0.7em 0.0em;
	}
	.circle-p::before {
    width: 2.3em;
    height: 2.3em;
    left: 5%;
    margin-left: -0.7em;
    top: 0.03em;
    border-radius: 2.8rem;
}

ol.num_order li {
	  margin-bottom:0.5em;
	  font-size:100%;
	
}
.num_start {
	 font-size:110%;
}
.num_cnt {
	 font-size:100%;
}
}
.line-cnt {
	 line-height: 2;
	 letter-spacing: 0.1em;
}
.box-sd {
    padding: 2em;
    background: rgba(253, 253, 253, .9);
    box-sizing: border-box;
	  border: 1px solid #f0f0f0;
    border-radius: 5px;
    -webkit-border-radius: 5px;
}
.box-sd02 {
    padding: 4em;
    background: rgba(253, 253, 253, .7);
	  border: 1px solid #f0f0f0;
    box-sizing: border-box;
	  box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 10%), 0px 2px 7px 0px rgb(0 0 0 / 8%), 0px 3px 14px 0px rgb(0 0 0 / 6%);
}
.box-sd03 {
    padding: 2em;
    background: rgba(253, 253, 253, .9);
    color: #333;
    border: 2px double rgba(60,91,132,0.8);
	  border-radius:10px;
    box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 10%), 0px 2px 7px 0px rgb(0 0 0 / 8%), 0px 3px 14px 0px rgb(0 0 0 / 6%);
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
.box-sd,.box-sd02,.box-sd03 {
    padding: 1.2rem;
    box-sizing: border-box;
}

}
.link_btn3{
	display: inline-block;
	padding: 0.5em 1em;
	background-color: var(--basic-color);
	border-radius: 30px;
	color: #fff;
	width: 88%;
}
.flex_anchorlink_box{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.flex_anchorlink_box .item_btn{
	width: 50.0%;  /* 要調整 */
	text-align: center;
	margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
.link_btn3{
	width: 90%;
}
.flex_anchorlink_box{
	display: block;
}
.flex_anchorlink_box .item_btn{
	width: 90%;
	margin:auto;
	    margin-bottom: 10px;
	box-sizing:border-box;

}
}
ul.check2,ul.check-2col,ul.check  {
    position: relative;
}
ul.check-1col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-1col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:100%;
    position: relative;
}
ul.check-1col li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
	  color:var(--basic-color);
    left: 0.3em;
    font-size: 1.3em;
}
ul.check2 li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
    width:40%;
    margin-right:2%;
    display:inline-block;
}
ul.check2 li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}


ul.check-2col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-2col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:40%;
    margin-right:2%;
    position: relative;
}
ul.check-2col li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}

@media only screen and (max-width: 768px) {
ul.check-2col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:90%;
    margin-right:2%;
    position: relative;
}
ul.check2 li {
    padding: 0 0 0.5em 1.6em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
	width:90%;
	margin-right:2%;
	display:inline-block;
}

}
.flex-1col {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
}
.flex-2col {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:5%;
}
.flex-2col > li{
  width:47.5%;
  margin:2% 0% 0 0%; 
}
.flex-2col > li:nth-of-type(odd){
  width:47.5%;
  margin:2% 0% 0 0%; 
}
.flex-2col > li:nth-of-type(even){
  width:47.5%;
  margin:2% 0 0 0%;
}
.flex-2col-start {
  display:flex;
  justify-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:5%;
}
.flex-2col-start > li{
  width:47.5%;
  margin:2% 0 0 0%; 
}
.flex-2col-start > li:nth-of-type(odd){
  width:47.5%;
  margin:2% 0% 0 0%; 
}
.flex-2col-start > li:nth-of-type(even){
  width:47.5%;
  margin:2% 0% 0 0%; 
}
.flex-list2 {
  width:17.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list3 {
  width:27.5% !important;
  margin:0 0 0 0% !important;   
}
.flex-list4 {
  width:37.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list5 {
  width:47.5% !important;
  margin:0% 1% 0 0% !important;  
}
.flex-list6 {
  width:57.5% !important;
  margin:0 0 0 0% !important;   
}
.flex-list7 {
  width:67.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list8 {
  width:77.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-list9 {
  width:87.5% !important;
  margin:0 0 0 0% !important;  
}
.flex-3col {
  display:flex;
  justify-content:start;
  align-items:start;
  flex-wrap:wrap;
  gap:5%;
}
.flex-3col > li{
  width:30%;
  margin:2% 0 0 0%;
}
.flex-4col {
  display:flex;
  justify-content:space-between;
  align-items:start;
  flex-wrap:wrap;
}
.flex-4col > .flex-list {
  width:24.0%;
  margin:0% 0 0 0%;
}
.flex-reverse {
	flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
.flex-2col > li,.flex-2col-start > li{
  width:100% !important;
  margin:2% auto 8% !important; 
}
.flex-3col > li{
  width:100%;
  margin:2% auto 8% !important; 
}
.flex-4col > .flex-list {
  width:100%;
  margin:2% auto 2% !important;
	}
.flex-list2,.flex-list3,.flex-list4,.flex-list5,.flex-list6,.flex-list7,.flex-list8,.flex-list9 {
  width:100% !important;
  margin:2% auto 8% !important;  
}

}

.res-img90 {
    width:90% !important;
	height:auto !important;
}
.res-img80 {
    width:80% !important;
	height:auto !important;
}
.res-img70 {
    width:70% !important;
	height:auto !important;
}
.res-img60 {
    width:60% !important;
	height:auto !important;
}
.res-img50 {
    width:50% !important;
	height:auto !important;
}
.res-img40 {
    width:40% !important;
	height:auto !important;
}
.res-img30 {
    width:30% !important;
	height:auto !important;
}
.res-img20 {
    width:20% !important;
	height:auto !important;
}
@media only screen and (max-width: 768px) {
.res-img90,.res-img80,.res-img70,.res-img60{
     width:100% !important;
	height:auto !important;  
}
}
.img-border {
    display: inline-block;
    padding: 5px;
    background: #fff;
    box-shadow: 1px 0px 5px #bbbbbb;
    box-sizing: border-box;
}

.bgColor02 {
    padding: 70px 10px;
    background: radial-gradient(circle, #b4e8f9 0%, #007ac3 100%);
}
.bgColor03 {
	padding:70px 10px;
	background: linear-gradient(to left, #b4e8f9  0%, #1eb9ee 50%, #007ac3 100%);
}
.bgColor04 {
	padding:70px 10px;
	background: linear-gradient(to right, #007ac3  0%, #1eb9ee 50%, #b4e8f9 100%);
}
.bgColor05 {
	padding:70px 10px;
	background: linear-gradient(to top, #c5e6fa 0%, #afd7e5 50%, #f1f8fa 100%);
}
.bgColor06 {
	padding:70px 10px;
	background: linear-gradient(to bottom, #c5e6fa 0%, #afd7e5 50%, #f1f8fa 100%);
}
.bgColor07 {
	padding:70px 10px;
 background: linear-gradient(90deg, rgb(22, 135, 237), rgb(20, 55, 90));
}
.bgColor08 {
	padding:70px 10px;
  background: radial-gradient(ellipse, white, rgba(96, 171, 248, 0.7));
}
.bgColor09 {
	    padding:70px 10px;
	    background: radial-gradient(ellipse at center, rgba(96,171,248,1) 0%,rgba(155,201,247,1) 28%,rgba(155,201,247,1) 18%,rgb(255, 255, 255) 70%);
}
.bgColor10 {
	 padding:70px 10px;
	 background: linear-gradient(90deg, rgba(22, 135, 237, 0.6), rgba(20, 55, 90, 0.9)) ,url("../img/content/bg_img01.jpg");
}
.bgColor11 {
	 padding:70px 10px;
	 background: radial-gradient(ellipse at center, rgba(96,171,248,0.7) 0%,rgba(155,201,247,0.7) 28%,rgba(155,201,247,0.7) 18%,rgba(255, 255, 255,0.7) 70%) ,url("../img/content/bg_img01.jpg");
}
.tx-flex {
	text-align:center;
}
.res-mb {
	margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
.bgColor02 , .bgColor03 , .bgColor04,.bgColor05,.bgColor06,.bgColor07,.bgColor08,.bgColor09,.bgColor10,.bgColor11   {
	padding:50px 10px;
}
.tx-flex {
	text-align:left;
}
.res-mb {
	margin-bottom: 10px;
}
.res-mt {
		margin-top: 20px;
}
.r-map {
	position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}
.r-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
}


/*===========================
フローティングバナー
===========================*/


/* color:var(--contact-color); で利用 */
:root {
	--contact-color:#3c5b84;
}

/* color:var(--contact-bg); で利用 */
:root {
	--contact-bg:#55739a;
}

/* color:var(--contact-hover); で利用 */
:root {
	--contact-hover:#6d8ab1;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto
}
.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto
}
.emergencyWrap {
    position: fixed;
    right: 1%;
    bottom: 11%;
    z-index: 1000;
    padding: 10px 30px;
    background-color: var(--contact-bg);
    border-bottom: 6px solid var(--contact-color);
    border-radius: 12px;
}
@media screen and (max-width: 768px) {
    .emergencyWrap {
        right: 0;
        bottom: 0;
        width: 100%;
        border-radius: 0;
        border: none;
        /*background-color: #51baf1;*/
    }
}
/*@media screen and (max-width: 480px) {
  .emergencyWrap {
    bottom: 50px;
  }
}*/
.emergencyWrap > span {
    display: block;
    margin-bottom: 8px;
    margin-top: 3px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
.emergencyWrap .emergencyBtnWrap {
    display: block;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        /*display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;*/
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
    }
}
.emergencyWrap a {
    display: block;
    margin-bottom: 0px;
    margin-top: 8px;
    padding: 2px;
    color: #fff;
    background-color: var(--contact-color);
    border-radius: 5px;
    text-align: left;
    font-size: 14px;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a {
        margin: 3px 8px;
    }
}
.emergencyWrap a.tel {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.tel .fa-phone-volume {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 20px;
}
.emergencyWrap a.tel span {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}
.emergencyWrap a.tel:hover {
    background-color: var(--contact-hover);
    text-decoration: none;
}
.emergencyWrap a.contact {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.contact .fa-envelope {
    color: #fff;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact span {
    display: inline-block;
    margin-left: 35px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact:hover {
    background-color: #69d782;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a.contact {
        text-align: center;
        padding: 8px 0px 8px 8px;
    }
    .emergencyWrap a.tel span {
        font-size: 14px;
        font-weight: 900;
    }
    .emergencyWrap a.contact span {
        display: block;
        margin-left: 15px;
        text-align: center;
        margin: auto;
    }
    .emergencyWrap a.contact .fa-envelope {
        color: #fff;
        font-size: 20px;
        display: block;
        text-align: center;
        margin: auto;
    }
}
@media screen and (max-width: 340px) {
    .emergencyWrap a.tel span {
        font-size: 13px;
        font-weight: 900;
    }
} /*　addに追加　*/
.emergencyWrap {
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        display: flex;
        justify-content: center;
    }
    .emergencyWrap a.tel {
        width: 30%;
        display: inline-block;
        padding: 8px 8px;
        color: #fff;
        text-align: center;
        font-size: 14px;
        letter-spacing: 1px;
        font-weight: bold;
        box-sizing: border-box;
    }
    footer {
        padding-bottom: 150px;
    }
}
.catch04 {
    font-size: 2em;
    font-weight: 800;
    line-height: 1.6em;
    color: #20993b;
    text-align: center;
    margin-bottom: 1em;
}
.tx-center {
	text-align: center;
}
.tx-flex {
	text-align: center;
}
 @media screen and (max-width: 768px) {
.tx-flex {
 text-align: left;/*PCで中央、スマホタブレット左寄せ*/
}
}
.mb20 {
	margin-bottom: 20px!important;
}
.wrap-bg {
    position: relative;
    top: 0rem;
    left: 0px;
    width: 100vw;
    height: auto;
    background: url(../images/backgrounds/background-01.svg) no-repeat;
    background-position: top -100px left !important;
    background-size: contain !important;
}
@media only screen and (max-width: 768px) {
    .catch01 {
        font-size: 1.1em;
        line-height: 1.6em;
        text-align: left;
        margin-bottom: 1em;
    }
    .wrap-bg {
        background-position: top 0px left !important;
        background-size: initial !important;
    }
}
.wd40 {
    width: 40% !important;
    margin: auto;
}
.wd50 {
    width: 50% !important;
    margin: 0 auto;
}
.wd60 {
    width: 60% !important;
    margin: 0 auto;
}
.wd70 {
    width: 70% !important;
    margin: 0 auto;
}
.wd80 {
    width: 80% !important;
    margin: 0 auto;
}
.wd85 {
    width: 85% !important;
    margin: 0 auto;
}
.wd90 {
    width: 90% !important;
    margin: 0 auto;
}
.wd95 {
    width: 95% !important;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
    .wd40, .wd50, .wd60, .wd70, .wd80, .wd85, .wd90, .wd95 {
        width: 100% !important;
        margin: auto;
    }
}
.box-sd {
	padding: 2em 4em;
	/*background-color: #fff;*/
	border: 1px solid #ccc;
	box-sizing: border-box;
	background-color: rgba(255,255,255,0.80);
}
@media only screen and (max-width: 600px) {
    .box-sd {
        padding: 15px;
    }
}
#pagetop {
    position: fixed;
    bottom: 30px;
    right: 10px;
    z-index: 20;
}
@media only screen and (max-width: 600px) {
    #pagetop {
        position: fixed;
        bottom: 120px;
        right: 10px;
        z-index: 20;
    }
}