@charset "utf-8";
/*===========================
add
===========================*/
.bnr-list {
	display: flex;
	justify-content: center;
	gap:2%;
	align-items: flex-start;
	flex-wrap: wrap;
}
.bnr-list li {
	margin-bottom:20px;
}
.bnr-list img {
	vertical-align: middle;
}
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:var(--basic-color);
	padding:0.6em;
	font-weight:800;
	font-size:1.2em;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}

dl.dl-flex {
  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: center;
	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;
}
@media screen and (max-width: 768px) {
 dl.dl-flex {
   flex-flow: column;
 }
}
.cpt-idea {
	font-size:3.0em;
	font-weight: 800;
	text-align: center;
	font-family: "Shippori Mincho", serif;
}
.p-ttl {
	 text-align: center;
	 font-size:1.2em;
	 font-weight: 700;
}
@media screen and (max-width: 1100px) {
	.cpt-idea {
	font-size:5vw;
	font-weight: 800;
	text-align: center;
	font-family: "Shippori Mincho", serif;
}
	
}
@media only screen and (max-width: 768px) {
.cpt-idea {
	font-size:6vw;
	text-align: center;
	font-family: "Shippori Mincho", serif;
}
.p-ttl {
	 text-align: left;
	 font-size:1.0em;
}
}
.check-1col,ul.check2,ul.check-2col  {
    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;
	top:-0.1em;
    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";
	color:var(--basic-color);
    font-family: FontAwesome;
    left: 0.3em;
	top:-0.1em;
    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;
}
}
.tx-flex {
    text-align:center;
}
@media only screen and (max-width: 768px) {
.tx-flex {
    text-align:left;
}
}
.tbl-1 th {
	width:30%;
}

ul.circle {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle > li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:90%;
    margin-right:2%;
    position: relative;
}
ul.circle > li:last-child {
	margin-bottom:0px;
}
ul.circle > li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}

ul.circle-2col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col > li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.9em;
    border-bottom: 1px dashed #CCC;
    width:46%;
    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: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}

ul.circle-3col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-3col > li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:28%;
    margin-right:2%;
    position: relative;
}
ul.circle-3col > li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #222;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}


@media only screen and (max-width: 768px) {
  ul.circle-2col > li,ul.circle-2col > li.long,ul.circle-3col > li {
    width:90%;
}
ul.circle-2col > li.line.line2 {
	margin-bottom:0.9em;
}
}
.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 2em 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;
}

}
.line-cnt {
	line-height:2;
	letter-spacing:0.05em;
}
.h3-ttl {
	position:relative;
	padding:0.5em;
	border-left:0px solid var(--basic-color);
	background:rgba(125,95,177,0.1);
}
.h3-ttl:after {
    content: '';
    position: absolute;
    bottom: 0px;
    width: 0px;
    height: 0px;
    left: 0%;
    transform: translateX(0%);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}
.img-border {
    display: inline-block;
    padding: 2px;
    background: #fff;
    box-shadow: 1px 0px 5px #bbbbbb;
}
.h3-ttl02 {
	position:relative;
	text-align:right;
	background:#000;
	color:#fff;
	font-size:1.1em;
	font-weight:600;
	padding:0.5em;
	box-sizing: border-box;
	text-shadow:none;
	max-width:306px;
	margin-right:auto;
	margin-left:auto;
}
.h3-ttl02:after {
    content: '';
    position: absolute;
    bottom: 0px;
    width: 0px;
    height: 0px;
    left: 0%;
    transform: translateX(0%);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}
.h3-ttl02 span.sf-p {
    position: absolute;
	background:var(--basic-color);
	color:#fff;
    top:0px;
	left:0px;
    width:100px;
    height:100%;
    display:flex;
	 align-items:center;
	 justify-content:center;	
}
@media only screen and (max-width: 768px) {
.h3-ttl02 {
	font-size:1.0em;
	padding: 0.4em;
	font-weight: 500;
}
}
.line-both {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-wrap: wrap;
}

.line-both::before,
.line-both::after {
	content: '';
	width: 70px;
	height: 2px;
	background-color: var(--basic-color);
}
.line-both:after {
    content: '';
    position: static;
    bottom: 0px;
    display: inline-block;
    left: 0%;
    transform: translateX(0%);
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}

.line-both::before {
	margin-right: 20px;
}
.line-both::after {
	margin-left: 20px;
}
@media only screen and (max-width: 768px) {
.line-both {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
}
.line-both span {
		width:100%;
}
.line-both::before,
.line-both::after {
	content: '';
	width: 50px;
	height: 2px;
}
.line-both::before {
	margin-right: 10px;
	left: 5%;
        position: absolute;
    }
.line-both::after {
	margin-left: 10px;
	position: absolute;
        left: 85%;
        top: 45%;
}
}
@media only screen and (max-width: 400px) {
.line-both::before,
.line-both::after {
	content: '';
	width: 20px;
	height: 2px;
}
.line-both::before {
	margin-right: 10px;
	left: 5%;
        position: absolute;
    }
.line-both::after {
	margin-left: 10px;
	position: absolute;
        left: 85%;
        top: 45%;
}
}
.txtBnrInsta a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    text-decoration: none;
    width: auto;
    margin: auto;
    padding: 1em 2em 1em 2em;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    color: #fff;
    text-shadow: none;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    position: relative;
    transition: 0.5s;
}
@media only screen and (max-width: 768px) {
	.txtBnrAr a {
	padding: 0.5em 5em 0.5em 2em;
}
.txtBnrInsta a{
    padding: 0.5em 1em 0.5em 1em;
}

}