.elementor-7325 .elementor-element.elementor-element-8fa90ff{--display:grid;--min-height:1063px;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7325 .elementor-element.elementor-element-8fa90ff.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7325 .elementor-element.elementor-element-a8e34f1{z-index:0;}.elementor-7325 .elementor-element.elementor-element-8ed3f1f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;}.elementor-7325 .elementor-element.elementor-element-8ed3f1f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-7325 .elementor-element.elementor-element-36225fb.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-7325 .elementor-element.elementor-element-fc9f1e5{background-color:#1C9A53;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );font-weight:500;color:var( --e-global-color-27145b2 );}.elementor-7325 .elementor-element.elementor-element-fc9f1e5 p{margin-block-end:0px;}.elementor-7325 .elementor-element.elementor-element-08a5712{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-7325 .elementor-element.elementor-element-8fa90ff{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-7325 .elementor-element.elementor-element-8fa90ff{--width:100%;}}@media(max-width:767px){.elementor-7325 .elementor-element.elementor-element-8fa90ff{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-7325 .elementor-element.elementor-element-fc9f1e5{font-size:14px;}}/* Start custom CSS for html, class: .elementor-element-bf56db7 */.cp_blockdesign06 {
	position: relative;
	padding: 0.5em;
	border-width: 1px;
	border-style: solid;
	border-color: #233B6C;
	background-color: #fff;
}
.cp_blockdesign06::before,
.cp_blockdesign06::after {
	position: absolute;
	width: 20px;
	height: 20px;
	content: '';
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #233B6C;
}
.cp_blockdesign06::before{
	top: 3px;
	left: 3px;
}
.cp_blockdesign06::after{
	right: 3px;
	bottom: 3px;
	-webkit-transform: scale(-1,-1);
	        transform: scale(-1,-1);
}
.cp_blockdesign06 .cp_authorname {
	display: flex;
	border-bottom: 1px solid  #233B6C;
}
.cp_blockdesign06 .cp_authorname h2 {
	margin: 0.3em 0.3em 0.3em 0.8em;
	width: 65%;
	color:  #233B6C;
	font-size: 25px;
}
.cp_blockdesign06 .cp_authorname ul {
	margin: 0.5em 0;
	padding: 0.3em 0 0.3em 0.8em;
	width: 35%;
	text-align: center;
	border-left: 1px solid  #233B6C;
}
.cp_blockdesign06 .cp_authorname li {
	display: inline;
	padding: 0 0.5em;
}
.cp_blockdesign06 .cp_authorname li a {
	color: #233B6C;
}
.cp_blockdesign06 .cp_authorinfo {
	padding: 1em 0.5em  0.5em  0.5em;
	margin-bottom:100px;
}

.cp_blockdesign06 .cp_last {
	padding: 1.0em 1.5em  1.0em  1.5em;
	background-color: #EEE;
	font-weight: 500;
}/* End custom CSS */
/* Start custom CSS */span.del {
  text-decoration-line: line-through;
  text-decoration-style:double;
  text-decoration-color: red;
}

/*料金表用CSS*/
.table_price{
    overflow: auto;
    width: 100%;
    height: auto;
}
.table_price table{
    margin: 0;
    border-spacing: 0;
}
.table_price td{
    white-space: nowrap;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #FFF;
    padding: 5px;
}
.table_price th{
    white-space: nowrap;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #f2f2f2;
    top: 0;
    left: 0;
}
.table_price tr:first-child th{
    border-top: 1px solid #999;
}
.table_price th:first-child{
    border-left: 1px solid #999;
}
.table_price tr:first-child th:first-child{
    z-index: 1;
}

/*料金表用CSS*/


/*文字を小さくするCSS*/
.font-size-small{
    font-size:0.7em;
}
.font-size-small-red {
    font-size:0.7em;
    background-color: red;
    color:#fff; 
    border-radius: 15px;
    padding: 3px 7px;
    font-weight: 700;
    
}


/*文字を小さくするCSS*/

.des2 {
  color: #364e96;/*文字色*/
  padding: 0.5em 0.5em 0.5em 0.5em;/*余白*/
  border-top: solid 3px #f0e68c;/*上線*/
  border-bottom: solid 3px #f0e68c;/*下線*/
}

.del {
  text-decoration-line: line-through;
  text-decoration-style:double;
  text-decoration-color: red;
}

.table_hutsu{
    overflow: auto;
    width: 100%;
    height: auto;
}
.table_hutsu table{
    margin: 0;
    border-spacing: 0;
}
.table_hutsu td{
    white-space: nowrap;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #FFF;
    padding: 5px;
}
.table_hutsu th{
    white-space: nowrap;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #f2f2f2;
    position: sticky;
    top: 0;
    left: 0;
}
.table_hutsu tr:first-child th{
    border-top: 1px solid #999;
}
.table_hutsu th:first-child{
    border-left: 1px solid #999;
}
.table_hutsu tr:first-child th:first-child{
    z-index: 1;
}

/*マーカー用CSS*/
span.marker {
background: linear-gradient(transparent 70%, #21ff00 30%);
}
/*マーカー用CSS*/

/*h1用CSS*/
.cp_h1title {
  position: relative;
  display: flex;
  justify-content: center;/*左右中央配置*/
  border: 1px solid #29B6F6;
  padding:20px ;
}
.cp_h1title::before {
  position: absolute;
  content: attr(title);
  top: -0.5em;/*サブテキストの位置*/
  font-size: 40%;
  padding: 0px 10px;
  background:#fafcfc;/*サブテキストの背景*/
}

/*方眼紙*/
.box-003 {
    max-width: 400px;
    margin: 0 auto;
    padding: 1em 1.5em;
    box-shadow: 0 4px 4px rgb(0 0 0 / 5%), 0 2px 3px -2px rgb(0 0 0 / 1%);
    background-image: linear-gradient(transparent calc(100% - 1px), #e6edf3 50%, #e6edf3), linear-gradient(90deg, transparent calc(100% - 1px), #e6edf3 50%, #e6edf3);
    background-size: 15px 15px;
    background-repeat: repeat;
    background-color: #ffffff;
    color: #333333;
}
/*方眼紙*/

/*割引*/
.box-010 {
    position: relative;
    max-width: 400px;
    margin: 1.5em auto;
    padding: 2.5em 1.5em 1.5em;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
    background-color: #ffe0e7;
    color: #333333;
}

.box-010 span {
    position: absolute;
    top: -15px;
    transform: translateX(-.3em) rotate(-5deg);
    padding: .5em 2em;
    border-right: 2px dotted rgb(0 0 0 / 10%);
    border-left: 2px dotted rgb(0 0 0 / 10%);
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    background-color: rgb(255 255 255 / 40%);
    font-weight: 600;
}

.box-010 p {
    margin: 0;
}

/*割引*/

.balloon-009 {
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 0 22px;
}


/*冠付見出し*/
.heading-35 {
    display: flex;
    align-items: center;
    gap: 0 7px;
    color: #333333;
}

.heading-35::before {
    width: 1.25em;
    height: 1.25em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.00488 19H22.0049V21H2.00488V19ZM2.00488 5L7.00488 8L12.0049 2L17.0049 8L22.0049 5V17H2.00488V5Z' fill='%23ffb500'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}

/*付箋*/
.fusen-2 {
    display: inline-block;
    position: relative;
    padding: .5em 1em;
    border-right: 27px solid #d02569;
    background-color: #f5f5f5;
    color: #333333;
}

.fusen-2::before {
    position: absolute;
    bottom: 2px;
    right: -20px;
    z-index: -1;
    transform: rotate(5deg);
    width: 100%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}

/*ポイントボックス*/
.cp_point {
	position: relative;
	margin: 40px 0 30px;
	padding: 25px 20px 15px 40px;
	border: 1px dotted #1b2538;
	background-color: #f8fdff;
	border-radius: 8px;
}
.cp_point::before {
	position: absolute;
	top: -1em;
	left: 1em;
	content: attr(title);
	padding: .4em 1em 0 2.5em;
	font-size: 90%;
	font-weight: bold;
	font-style: italic;
	color: #fff;
	height: 27px;
	background-color: #1b2538;
	border-radius: 4px;
}
.cp_point::after {
	position: absolute;
	top: -1em;
	left: 1.3em;
	font-family: FontAwesome;
	content: "\f046";
	padding: .5em .5em 0 0;
	font-size: 18px;
	color: #fff;
	line-height: 25px;
	text-align: center;
}
.cp_point li {
	position: relative;
	list-style-type: none;
}
.cp_point li::before {
	position: absolute;
	top: .25em;
	left: -1em;
	font-family: FontAwesome;
	content: "\f0da ";
	color: #333;
}

/*ポイントボックス*/

/*h2タイトル*/
.cp_h2title {
  position: relative;
  padding: 20px 20px 20px 20px;
  border: 1px solid #0097A7;
}
.cp_h2title::after{
  content: "check!";
  position: absolute;
  padding: 0 10px;
  top: -10px;
  left: 10px;
  color: #0097A7;/*「check!」の文字色*/
  background: #fafcfc;/*「check!」をのせる背景*/
  font-size: 14px;/*「check!」の文字サイズ*/
}

/*h3タイトル*/
.cp_h3title {
  position: relative;
  color:#ffffff;
  background: #90CAF9;
  border-radius: 4px;
  padding: 0 0 0 45px;
}
.cp_h3title:before{
  position: absolute;
  content: '';
  top: -2px;
  left: 15px;
  width: 20px;/*リボンの幅*/
  height: 30px;/*リボンの高さ*/
  background: #1976D2;/*リボンの色*/
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 50% 80%, 0 100%);/*リボンの形*/
}

.cp_h3title_2 {
  position: relative;
  border: 1px solid #0081b2;
  border-radius: 5px;
  box-shadow: 2px 2px 0 0 #0081b2;
  padding: 5px 20px;
}
.cp_h3title_2::before,
.cp_h3title_2::after,
.cp_h3title_2 span::before,
.cp_h3title_2 span::after {
  position: absolute;
  content: '';
  width: 10px;
  border-top: 1px solid #0081b2;
  transform: rotate(-45deg);
}
.cp_h3title_2 span::before,
.cp_h3title_2 span::after {
  transform: rotate(45deg);
}
.cp_h3title_2::before {
  top: 10px;
  left: 5px;
}
.cp_h3title_2::after {
  bottom: 10px;
  right: 5px;
}
.cp_h3title_2 span::before {
  top: 10px;
  right: 5px;
}
.cp_h3title_2 span::after {
  bottom: 10px;
  left: 5px;
}
/*h3タイトル*/


/*h4タイトル*/
.cp_h4title {
  position: relative;
  border: 1px solid #00BCD4;
  padding: 5px 10px 5px 30px;
}
.cp_h4title::after {
  position: absolute;
  content: '';
  top: 0.5em;
  left: 0.5em;
  width: 6px;
  height: calc(100% - 1em);/*100％から上下の空き分を除いたもの*/
  background-color: #00BCD4;
  border-radius: 4px;
}
/*h4タイトル*/

.table_wrap {
    white-space: pre-wrap;
}


/*モバイル対応*/
@media (max-width: 700px) {
.cp_h1title {
  font-size:30px;
}

.cp_h2title {
 font-size:18px; 
    
}

.cp_h3title {
 font-size:20px; 
    
}

.heading-35 {
 font-size:18px;
}
.balloon-009 p {
  font-size:14px;
}
.m-d1 {
  font-size:16px;
}
}/* End custom CSS */