@charset "utf-8";
/*===========================
add
===========================*/
.box-wrap {
  background: #FBF6EE;
  box-sizing: border-box;
}
.box-ttl {
  text-align: center !important;
  background: var(--basic-color);
  padding: 0.6em;
  font-weight: 800;;
  color: #fff;
  margin-bottom: 0px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  box-sizing: border-box;
	
}
.box-ttl-h {
  text-align: center !important;
  background: var(--basic-color);
  padding: 0.6em;
  color: #fff;
  margin-bottom: 0px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  height:230px;
}
.box-ttl-2 {
  text-align: center !important;
  background: var(--basic-color);
  padding: 0.5em 0em;
  color: #fff;
  margin-bottom: 0px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
}
.box-cnt {
  width: 100%;
  margin: 0px auto 0em;
  border:1px dotted #F3F3F3;
  padding: 0.2em 0.5em 0.2em 0.5em;
  box-sizing: border-box;
}
.box-cnt-a {
  width: 100%;
  margin: 0px auto 0em;
  padding: 0.0em 0.8em 0.2em 0.8em;
  box-sizing: border-box;
}
.box-cnt-2 {
  width: 100%;
  margin: 0px auto 0em;
  padding: 0.0em 0.6em 0.2em 0.6em;
  box-sizing: border-box;
}
ul.check-1col, ul.check2, ul.check-2col {
  position: relative;
}
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-1col {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
ul.check-1col li {
  padding: 0 0 0.4em 2.2em;
  border-bottom: 1px dashed #CCC;
  width: 100%;
  position: relative;
}
ul.check-1col li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul.check-1col li::before {
  position: absolute;
  content: "\f14a";
  font-family: FontAwesome;
  color: var(--basic-color);
  left: 0.3em;
  font-size: 1.3em;
  top: 8px;
  background: #fff;
  line-height: 0.6;
}
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:not(:last-child) {
  margin-bottom: 0.7em;
}
ul.check-2col li::before {
  position: absolute;
  content: "\f14a";
  font-family: FontAwesome;
  color: var(--basic-color);
  left: 0.3em;
  font-size: 1.3em;
}
@media only screen and (max-width: 768px) {
  ul.check-2col li {
    width: 90%;
    margin-right: 0%;
  }
  ul.check2 li {
    width: 90%;
    margin-right: 0%;
  }
}
ul.circle-1col, ul.circle-no-1col {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-pl-1col {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-1col > li {
  padding: 0 0 0.3em 1.2em;
  margin-bottom: 0.5em;
  border-bottom: 1px dashed #CCC;
  width: 100%;
  margin-right: 0%;
  position: relative;
}
ul.circle-no-1col > li {
  padding: 0 0 0.1em 1.2em;
  margin-bottom: 0.1em;
  border-bottom: 0px dashed #CCC;
  width: 100%;
  margin-right: 0%;
  position: relative;
}
ul.circle-no-1col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.7em;
}
ul.circle-pl-1col > li {
  padding: 0 0 0.5em 1.2em;
  margin-bottom: 0.7em;
  border-bottom: 1px dashed #CCC;
  width: auto;
  margin-right: 0%;
  position: relative;
}
ul.circle-1col > li:last-child, ul.circle-no-1col > li:last-child {
  margin-bottom: 0px;
}
ul.circle-1col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.8em;
}
ul.circle-pl-1col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.3em;
}
ul.circle-2col {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-2col > li {
  padding: 0 0 0.1em 1.4em;
  margin-bottom: 0.3em;
  border-bottom: 1px dashed #CCC;
  width: 45%;
  margin-right: 2%;
  position: relative;
}
ul.circle-2col > li.line {
  margin-bottom: 0px;
}
ul.circle-2col > li.long {
  width: 70%;
}
ul.circle-2col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.7em;
}
ul.circle-3col {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-3col > li {
  padding: 0 0 0.3em 1.2em;
  margin-bottom: 0.5em;
  border-bottom: 1px dashed #CCC;
  width: 28%;
  margin-right: 1%;
  position: relative;
}
ul.circle-3col > li.long {
  width: 100%;
}
ul.circle-3col > li.long-hf {
  width: 43%;
}
ul.circle-3col > li.long-a {
  width: auto;
}
ul.circle-3col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.8em;
}
ul.circle-4col {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-4col > li {
  padding: 0 0 0.3em 1.4em;
  margin-bottom: 0.5em;
  border-bottom: 0px dashed #CCC;
  width: 18%;
  margin-right: 2%;
  position: relative;
}
ul.circle-4col > li.long {
  width: 36%;
}
ul.circle-4col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.6em;
}
ul.circle-5col {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
ul.circle-5col > li {
  padding: 0 0 0.5em 1.4em;
  margin-bottom: 0.7em;
  border-bottom: 0px dashed #CCC;
  width: 15%;
  margin-right: 2%;
  position: relative;
}
ul.circle-5col > li.long {
  width: 30%;
}
ul.circle-5col > li:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--basic-color);
  border-radius: 50%;
  left: 0.5em;
  margin-top: 0.7em;
}

@media only screen and (max-width: 1100px) {
ul.circle-3col > li {
	width:auto;
}
ul.circle-3col > li.long-hf {
  width: auto;
}
ul.circle-3col > li.long-a {
  width: auto;
}
}
@media only screen and (max-width: 768px) {
  ul.circle > li:before, ul.circle-2col > li:before, ul.circle-3col > li:before {
    left: 0.5em;
    margin-top: 0.8em;
  }
  ul.circle-2col > li, ul.circle-2col > li.long, ul.circle-3col > li,ul.circle-4col > li, ul.circle-4col > li.long {
    width: 45%;
  }
  ul.circle-2col > li.line.line2 {
    margin-bottom: 0.9em;
  }
}
@media only screen and (max-width: 500px) {
  ul.circle-2col > li, ul.circle-2col > li.long, ul.circle-3col > li, ul.circle-3col > li.long, ul.circle-3col > li.long-a, ul.circle-3col > li.long-hf, ul.circle-4col > li, ul.circle-4col > li.long {
    width: 90%;
  }
}
.box-sd {
  padding: 2em;
  background-color: #fff;
  border: 1px solid #999;
  box-sizing: border-box;
}
.box-sd02 {
  padding: 2em;
  background-color: rgba(255, 255, 255, 1.0);
  border: 0px solid #999;
  box-sizing: border-box;
  box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 10%), 0px 3px 7px 0px rgb(0 0 0 / 8%), 0px 5px 14px 0px rgb(0 0 0 / 6%);
}
.box-sd03 {
  padding: 3em 3em 3em 3em;
  background-color: rgba(255, 255, 255, 0.5);
  color: #333;
  border: 0px solid #999;
  box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 3px 7px 0px rgb(0 0 0 / 8%), 0px 5px 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.2em;
    box-sizing: border-box;
  }
}
dl.dl-flex,dl.dl-flex-h {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  box-sizing: border-box;
}
dl.dl-flex dt {
  flex-basis: 30%;
  font-size: 1.05em;
  font-weight: 600;
  text-align: right;
  padding: 0.5em;
  border-bottom: 1px dotted #999;
  box-sizing: border-box;
}
dl.dl-flex dd {
  flex-basis: 70%;
  font-size: 1.05em;
  border-bottom: 1px dotted #999;
  padding: 0.5em;
  box-sizing: border-box;
}
dl.dl-flex dt.dt-a {
  flex-basis: 15%;
    white-space: nowrap;
}
dl.dl-flex dd.dt-a {
  flex-basis: 85%;
}



dl.dl-flex-h dt {
  font-size: 1.15em;
  font-weight: 600;
  text-align: right;
  padding: 0.5em;
  border-bottom: 1px dotted #999;
  box-sizing: border-box;
}
dl.dl-flex-h dt:nth-of-type(1) {
  flex-basis: 12%;
}
dl.dl-flex-h dt:nth-of-type(2) {
  flex-basis: 18%;
}
dl.dl-flex-h dd {
  flex-basis: 40%;
  font-size: 1.15em;
  border-bottom: 1px dotted #999;
  padding: 0.5em;
  box-sizing: border-box;
}

dl.dl-flex-h dt.sf {
  font-size: 1.05em;
}
dl.dl-flex-h dd.sf {
  font-size: 1.15em;
}
dl.dl-flex-h dd:nth-of-type(1) {
  flex-basis: 50%;
}
dl.dl-flex-h dd:nth-of-type(2) {
  flex-basis: 20%;
}

@media only screen and (max-width: 930px) {
  dl.dl-flex,dl.dl-flex-h {
    flex-flow: column;
  }
dl.dl-flex dt.dt-a {
  flex-basis: 20%;
    white-space: nowrap;
			text-align: center;
}
dl.dl-flex dd.dt-a {
  flex-basis: 70%;
  		text-align: center;
}
}
@media screen and (max-width: 768px) {
  dl.dl-flex,dl.dl-flex-h {
    flex-flow: column;
  }
	dl.dl-flex dt {
		text-align: center;
	}
	dl.dl-flex dd {
		text-align: center;
	}
	dl.dl-flex-h dt:nth-of-type(1),dl.dl-flex-h dt:nth-of-type(2),dl.dl-flex dt.dt-a {
  text-align: center;
}
	dl.dl-flex-h dd:nth-of-type(1),dl.dl-flex-h dd:nth-of-type(2),dl.dl-flex dd.dt-a {
  text-align: center;
}
}
.p-ttl {
  text-align: center;
  font-size: 1.2em;
  font-weight: 700;
}
.p-ttl02 {
  text-align: center;
  font-size: 1.2em;
  font-weight: 700;
  margin-top:50px;
  margin-bottom:50px;
}
.p-ttl03 {
  text-align: right;
  font-size: 1.05em;
  font-weight: 500;
  color:var(--basic-color);
  margin-top:20px;
  margin-bottom:10px;
}
.p-ttl-s {
  text-align: center;
  font-size: 1.3em;
  color:#fff;
  font-weight: 600;
  background: var(--basic-color);
  padding:0.5em;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .p-ttl {
    text-align: left;
    font-size: 1.0em;
  }
	.p-ttl02 {
    font-size: 1.0em;
		  margin-top:50px;
  margin-bottom:10px;
  }
	.p-ttl03 {
  text-align: right;
  font-size: 1.00em;
		  margin-top:10px;
		  margin-bottom:10px;
}
}
.tx-flex {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .tx-flex {
    text-align: left;
  }
}
@media only screen and (max-width: 768px) {
  .table-scroll {
    overflow-x: auto;
    width: 100%;
    border-right: 5px solid #ccc;
  }
  .table-scroll::-webkit-scrollbar {
    height: 5px;
  }
  .table-scroll::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #CCC;
  }
  .table-scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #999;
  }
  .table-scroll table {
    table-layout: fixed;
    min-width: 100%;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    margin-bottom: 0px;
  }
  .table-scroll table th {
    width: 200px !important;
    min-width: 250px;
    display: table-cell;
    padding: 0.3em;
    font-size: 1em;
    border: 1px #ccc solid;
  }
  .table-scroll table td {
    width: 90px;
    min-width: 130px;
    display: table-cell;
    padding: 0.3em;
    font-size: 1em;
    word-wrap: break-word;
    white-space: normal;
  }
  .table-scroll table th.th-01 {
    width: 200px !important;
    min-width: 250px;
    display: table-cell;
    padding: 0.3em;
    font-size: 1em;
    border: 1px #ccc solid;
  }
  .table-scroll table td.td-01 {
    width: 90px;
    min-width: 130px;
    display: table-cell;
    font-size: 1em;
    word-wrap: break-word;
    white-space: normal;
  }
}
.flex-h {
	display: flex;
	align-items:stretch;
}
.line-H {
	line-height: 3.2;
	letter-spacing: 0.1em;
}
.line-H02 {
	line-height: 2.0;
	letter-spacing: 0.1em;
}
.line-H03 {
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-size:90%;
}
.line-H-s {
	line-height: 1.4;
	letter-spacing: 0.1em;
	font-size:95%;
}
.no-frame {
    border-radius: 0px !important;
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3) !important;
}
h2.h2-ttl:after {
    content: "";
    /* background: var(--basic-color); */
    background-color: var(--basic-color);
    position: absolute;
    top: 0em;
    left: 0%;
    width: 0px;
    height: 0px;
    box-sizing: border-box;
    /* clip-path: polygon(0 0, 100% 0%, 1.5% 100%); */
    z-index: 1;
}
.h3-ttl {
	 font-weight: 700;
	 text-align: center;
	 padding-bottom:10px;
	 border-bottom:3px solid var(--basic-color);
}
.res-mb80 {
	margin-bottom: 80px;
}
@media only screen and (max-width: 768px) {
.p-ttl {
	 text-align: left;
	 font-size:1.0em;
}
.res-mb80 {
	margin-bottom: 30px;
}
}
.txtBold {
	font-weight:800;
}
.price {
	font-weight: bold;
	color:#E40D11;
	font-size: 1.1em;
}
.time {
	font-weight: bold;
	font-size: 1.05em;	
}
.line-a {
	line-height: 2;
	letter-spacing: 0.1vw;
	font-size: 1.05em;
}
.fa-mobile {
	position:relative;
	font-size:40px;
}
.fa-mobile:before {
	position:absolute;
	top:-30px;
	left:-20px;
}