
html{
  scroll-behavior: smooth;
}
.black {
  color: #333!important;
}
.blue {
  color: #559fff!important;
}
.red {
  color: crimson!important;
}
.message img {
    width: 100%;
}
.cp_h1title {
	position: relative;
	padding: .1em .3em .1em 1em;
	border: 1px solid #ccc;
  background: initial !important;
}
.cp_h1title::after {
	position: absolute;
	top: .5em;
	left: .5em;
	content: '';
	width: 6px;
	height: -webkit-calc(100% - 1em);
	height: calc(100% - 1em);
	background-color: #927a49;
	border-radius: 4px;
}
h2.midashi_henkou {
  padding: 1rem 2rem;
  border-left: 7px solid #132238;
  background: #927a49;
  font-size: 1.5em;
  font-weight: bold;
  color: #fff !important;
}
.message {
    /* font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Arial,Meiryo,sans-serif; */
    font-size: 1.25em;
    letter-spacing: 0.02em;
    padding: 1em !important;
    border: 4px solid #927a49;
    line-height: 2em;
}
.message p {
    color: #333;
    margin: 0 0 1.6em;
    padding-left: 1em;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 2em;
}
.message a {
    text-decoration: none;
}
.message ol li {
    list-style: decimal !important;
    margin-left: 3.5em !important;
		padding-bottom: 0.3em;
    line-height: 2em;
}
.message ol {
    margin-bottom: 1em;
}
.message ul li {
    list-style: disc !important;
    margin-left: 3.5em !important;
		padding-bottom: 0.3em;
    line-height: 2em;
    margin-left: 1em !important;
    background: initial !important;
}
.message ol {
    margin-bottom: 1em;
}
h3 {
    position: relative;
    padding: 1rem .5rem !important;
    background-color: initial !important;
    color: #333 !important;
    font-size: 1.4em !important;
    margin-bottom: 0.5em;
}
h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  content: '';
  border-radius: 3px;
  background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(right, #614030 0%, #614030#927a49 100%);
  background-image: linear-gradient(to left,#614030 0%, #927a49 100%);
}

.qaContainer dt {
padding: 10px 10px 10px 35px;
border-radius: 5px;
background: #cce6ff;
text-indent: -25px;
}
.qaContainer dt:before {
content: "Q.";
font-weight: bold;
margin-right: 7px;
}
.qaContainer dd {
margin: 20px 10px 40px 35px;
text-indent: -25px;
}
.qaContainer dd:before {
content: "A.";
color: #1771c6;
font-weight: bold;
margin-right: 7px;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	/* font-family: sans-serif; */
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	margin: 0 0 2em 10px;
	padding: 1em 1em 0.5em 1em;
	/*background: #e1f5fe;*/
}
.cp_qa h1 {
	font-size: 1.2em;
	position: relative;
	margin-right: 1em;
	margin-left: -26px;
	padding: 0.3em;
	color: #ffffff;
	background-color: #42a5f5;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.cp_qa h1::after {
	position: absolute;
	bottom: -10px;
	left: 0;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-width: 0 10px 10px 0;
	border-style: solid;
	border-color: transparent #1976d2 transparent transparent;
}
.cp_qa dl {
	margin: 0;
}
.cp_qa dt {
	margin-bottom: 0.5em;
	padding: 0.2em 0.5em 0.5em 2em;
	border-radius: 0.2em;
	border: 1px solid #000;
}
.cp_qa dd {
	margin-bottom: 1em;
	margin-left: 0;
	padding: 0.5em 1em 1.5em 3em;
}
/* QAã‚¢ã‚¤ã‚³ãƒ³ */
.cp_qa dt::before,.cp_qa dd::before{
	font-size: 1.5em;
	color: #ffffff;
}
.cp_qa dt::before {
	margin: 0.3em 0.3em 0 -1em;
	content: 'Q';
  color: #927a49;
}
.cp_qa dd::before {
	margin: 0 0.5em 0 -2em;
	padding: 0.2em 0.4em;
	content: 'A';
	border-radius: 0.2em;
	background: #927a49;
}

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 1.5em;
  min-width: 120px;
  max-width: 100%;
  color: #fff!important;
  font-size: 18px;
  background: #927a49;
  font-weight:bold;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #927a49;
}

.balloon1 p {
  margin: 0;
  padding: 0;
  color: #fdfdfd!important;
  font-weight: 800;
  text-align: center;
}

.fukidashi {
    position: relative;
    padding: 1.5rem 2rem!important;
    color: #fff!important;
    background: #927a49!important;
    margin-bottom: 1.5em;
    font-weight:bold;
}

.fukidashi:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #927a49 transparent transparent transparent;
}
.henka {
     position: relative;
     padding-bottom: 0.5em;
     border-bottom: 4px solid #DDD;
     margin-left: 1.5em;
     margin-right: 1.5em;
}

.henka::after {
     position: absolute;
     content: " ";
     border-bottom: solid 4px #446689;
     bottom: -4px;
     width:10%;
     display: block;
}

ul.c-labo li {
    list-style: disc;
    background: initial;
    padding-left: 0;
    margin-left: 2em;
}

ul.flow2 li {
    list-style-type: none;
    background: initial;
    padding-left: 0;
    list-style: none !important;
    margin-left: 0 !important;
    line-height: 1.0 !important;
}
dd {
  margin-left: 0;
  line-height: 2em;
}

.flow2 {
  padding-left: 120px;
  position: relative;
}
.flow2::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
}
.flow2 > li {
  position: relative;
}
.flow2 > li:not(:last-child) {
  margin-bottom: 8vh;
}
.flow2 > li .icon {
  font-size: 12px;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
}
.flow2 > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #66d5e9;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow2 > li dl {
  padding-left: 70px;
  position: relative;
}
.flow2 > li dl::before,
.flow2 > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow2 > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #6b90db;
  border-radius: 50%;
  left: -4px;
}
.flow2 > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}
.flow2 > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: rgb(107,144,219);
  margin-bottom: 1vh;
}
ul.square li {
    background: initial;
    margin-left: 2em;
    content: "â˜…";
    list-style: square;
}
.box {
    padding: 2em;
    background: aliceblue;
}