.cf:after {
 content: "";
 display: block;
 clear: both;
}
.cf {
 zoom: 100%;
}
.l-pc-inner {
 max-width: 1380px !important;
}
.wpcf7 {
 background: white;
 border: none;
}
/* フォント-------------------------------------------------------------- */
.font-s, .p-body .font-s, .p-body p .font-s {
 line-height: 1.2;
}
.font-ss {
 font-size: 60%;
}
.p-body .kome ul {
 list-style: none;
 margin-left: 0;
}
.p-body .kome ul li, .kome {
 list-style: none;
 padding-left: 1em;
 text-indent: -1em;
 line-height: 1.6;
 padding-bottom: 0.75em;
}
.line-yellow {
 background: linear-gradient(transparent 60%, #FFF9C9 0%);
}
/* 見出し-------------------------------------------------------------- */
article.l-primary h2 {
 position: relative;
 padding: 0 45px;
 text-align: center;
 width: max-content;
 color: #00A0AC;
 font-size: 180%;
 max-width: 90%;
}
article.l-primary h2 {
 margin: 4em auto 2em;
}
article.l-primary h2:first-child {
 margin-top: 0;
}
article.l-primary h2:before, article.l-primary h2:after {
 content: '';
 position: absolute;
 top: 50%;
 display: inline-block;
 width: 44px;
 height: 1px;
 background-color: #00A0AC;
 -webkit-transform: rotate(-60deg);
 transform: rotate(-60deg);
}
article.l-primary h2:before {
 left: 0;
 opacity: 0.4;
}
article.l-primary h2:after {
 right: 0;
 opacity: 0.4;
}
article.l-primary h3 {
 position: relative;
 display: inline-block;
 padding: 0 0 0 55px;
 text-align: center;
 margin: 3em auto 1em 0;
 color: #00A0AC;
 font-size: 160%;
 text-align: left;
}
article.l-primary h3:before {
 content: '';
 position: absolute;
 top: 50%;
 display: inline-block;
 width: 45px;
 height: 1px;
 background-color: #00A0AC;
}
article.l-primary h3:before {
 left: 0;
 opacity: 0.4;
}
article.l-primary h4 {
 color: #00A0AC;
 font-size: 140%;
}
article.l-primary h5 {}
/* レイアウト-------------------------------------------------------------- */
.p-body .wrap-clm {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 100%;
 margin: 40px auto;
}
.p-body .wrap-clm .clm-three {
 width: 28%;
 display: flex;
 flex-wrap: wrap;
 margin-bottom: 6%;
}
.wrap-clm::after {
 display: block;
 content: "";
 width: 26%;
}
.p-body .clm-three img {
 width: 100%;
 height: auto;
}
.p-body .clm-three .img img {
 width: 100%;
 height: auto;
 margin-bottom: 0.5em;
}
.p-body .wrap-clm .clm-three .txt {
 margin: 0 auto;
}
.p-body .wrap-clm.txt-center .clm-three .txt {
 text-align: center;
}
.p-body .wrap-img {
 width: 50%;
}
.p-body .txt-right {
 width: 46%;
 float: right;
}
.p-body .table-default th {
 background: rgba(36, 159, 211, 0.7);
 color: #fff;
 border: 1px solid #249fd3;
}
.p-body .table-default td {
 border: 1px solid #249fd3;
}
.p-body table.menu-list, .p-body table.menu-list th, .p-body table.menu-list td {
 border: none;
 border-bottom: 1px dashed #ddd;
 background: none;
 text-align: left;
}
.span_12 {
 line-height: 1.8;
}
.p-body .clm-two {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 margin: 0 auto;
 justify-content: space-around;
}
.box-gray {
 background: #f5f5f5;
 padding: 2em 2em 1em;
}
.p-body .wrap-img-r {
 width: 40%;
 float: right;
}
.p-body .wrap-clm .menu-name {
 line-height: 1.6;
 padding-bottom: 0.5em;
}
.p-body .wrap-clm .menu-prise {
 line-height: 1.8;
 padding-bottom: 0.5em;
}
.p-body .wrap-clm .menu-prise .font-ss {
 padding-left: 0.5em;
}
.p-body .wrap-clm .menu-prise .menu-prise2 {
 background: #F1F6F6;
 padding: 0.25em 0.5em;
 border-radius: 6px;
 display: inline-block;
 font-size: 80%;
 width: auto;
}
.p-body .wrap-clm .menu-material {
 line-height: 1.8;
 color: #666;
 font-size: 80%;
}
.p-body .wrap-clm .wrap-materials {
 line-height: 1.8;
 color: #666;
 font-size: 80%;
 margin-top: 0.5em;
}
.p-body .box-blue {
 background: #F1F6F6;
 padding: 2em 2em 0.75em;
}
.p-body .box-blue p {
 margin-bottom: 0.5em;
}
.page-menu {
display: block;
margin: 0 auto 2em;
width: 90%;
max-width: 800px;
}
.page-menu ul{
display: flex;
flex-wrap: nowrap;
}
.page-menu ul li{
list-style: none;
width: 25%;
text-align: center;
}
.page-menu ul li a{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
				color: #00BCBC;
}
.page-menu ul li a:hover{
				color: #00CCCC;
}
.page-menu ul li a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #00BCBC;
    border-right: 2px solid #00BCBC;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
a.anchorlink{
   display: block;
   margin-top:-100px;
   padding-top:100px;
}
/* PC パソコン用CSS-------------------------------------------------------------- */
@media print, screen and (min-width: 769px) {
 .sp {
  display: none;
 }
}
/* SP スマホ用CSS-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
 .pc {
  display: none;
  text-indent: -9999px;
 }
 article.l-primary h3 {
  font-size: 140%;
 }
 .wrap-clm {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .wrap-clm .clm-three {
  width: 100%;
 }
 .p-body .box-gray {
  width: 100%;
 }
 .p-body .wrap-img {
  width: 100%;
 }
 .p-body .txt-right {
  width: 100%;
  float: inherit;
 }
 .p-body .wrap-img-r {
  width: 100%;
  float: inherit;
  margin-bottom: 4%;
 }
 .p-body .wrap-clm .clm-three {
  width: 45%;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
 }
 .p-body .clm-three .img img {
  margin-bottom: 0em;
 }
 .p-body .wrap-clm .clm-three .txt {
  line-height: 1.6;
  letter-spacing: 0.01em;
  padding: 0.5em 0;
  /*text-align: center;*/
  margin: 0 auto;
 }
 .p-body .wrap-clm.txt-center .clm-three .txt {
  text-align: center;
 }
 .p-body table.menu-list {
  width: 100%;
 }
 .p-body table.menu-list th {
  line-height: 1.8;
 }
 .p-body table.menu-list td {
  white-space: nowrap;
 }
 .p-breadcrumb {
  border-bottom: none !important;
 }
.page-menu {
display: block;
margin: 0 auto 2em;
width: 100%;
}
.page-menu ul{
display: flex;
flex-wrap: wrap;
}
.page-menu ul li{
list-style: none;
width: 48%;
text-align: left;
}
}