@charset "UTF-8";
/* TOP */
.top#wrapper {
 overflow: hidden;
}
.top #kv {
 color: #deecf6;
 background: #ebeced;
 text-align: left;
 z-index: 6;
 padding: 0 5%;
 font-size: 1.7rem;
}
.top #kv .inner {
 padding: 160px 0 5%;
}
.top #kv .inner:before {
 content: "";
 display: block;
 background: url("../images/animals.png") no-repeat;
 background-size: cover;
 width: 55%;
 padding-top: calc(55% * 1.031);
 position: absolute;
 right: -13.5%;
 bottom: -2vw;
 z-index: 3;
}
.top #kv:after {
 content: "";
 display: block;
 background: #002d4c;
 height: 100%;
 width: 64vw;
 position: absolute;
 left: 0;
 top: 0;
}
.top #kv .copy {
 position: relative;
 z-index: 5;
 font-weight: 700;
 font-size: 3.2rem;
 line-height: 1.4;
 border-bottom: solid 1px #deecf6;
 display: inline-block;
 padding-bottom: 0.25em;
}
.top #kv .copy .yellow {
 font-size: 240%;
 display: inline-block;
 padding-right: 0.15em;
}
.top #kv .copy .yellow .dot {
 font-size: 80%;
 margin: 0 -0.2em;
}
.top #kv .copy .yellow span {
 font-size: 120%;
 font-weight: 800;
 position: relative;
}
.top #kv .copy .yellow span small {
 width: 1em;
 line-height: 1.1;
 font-size: 47%;
 font-weight: 900;
 transform: translateY(0.1em);
 padding-left: 0.1em;
}
.top #kv .copy img {
 display: inline-block;
 height: 1.53em;
 width: auto;
 margin: 0 0.2em;
}
.top #kv .copy .big {
 font-size: 130%;
}
.top #kv p {
 position: relative;
 z-index: 5;
 white-space: nowrap;
 line-height: 1.2;
 font-size: 113%;
 font-weight: 500;
 padding-top: 0.65em;
}
.top #kv ul {
 display: flex;
 align-items: stretch;
 position: relative;
 z-index: 5;
 padding-top: 1em;
}
.top #kv ul li {
 color: #002d4c;
 background: #fae534;
 line-height: 1.4;
 padding: 0.65em 0.75em;
 margin-right: 0.75em;
 font-weight: 700;
 font-size: 140%;
 text-align: center;
}
.top #kv ul li small {
 display: block;
 font-size: 60%;
 font-weight: 700;
 letter-spacing: 0;
}
.top #kv ul li small strong {
 font-size: 140%;
 font-weight: 600;
 line-height: 1;
 margin: 0 0.05em;
}
.top #kv ul li .material-symbols-outlined {
 font-size: 120%;
 padding-right: 0.25em;
 transform: translateY(0.1em);
 font-weight: 500;
}
.top #kv ul li:last-child .material-symbols-outlined {
 transform: translateY(0.2em);
}
#service {
 text-align: center;
 background: #f8f8f8;
}
#service .inner {
 padding: 0 1.5rem 1px;
}
#service .category li {
 display: flex;
 align-items: center;
 position: relative;
 background: #002d4c;
 color: #deecf6;
 width: 90%;
 margin: 0 auto 4px;
}
#service .category li:before {
 content: "";
 display: block;
 border: 1.5em solid #f8f8f8;
 border-left-color: transparent;
 border-bottom-color: transparent;
 height: 0;
 width: 0;
 position: absolute;
 top: 0;
 right: 0;
 z-index: 5;
}
#service .category li .ph {
 background: #ccc;
 position: relative;
 overflow: hidden;
 flex: 1 0 14em;
 max-width: 14em;
 padding-top: 14em;
}
#service .category li .ph img {
 height: 100%;
 width: auto;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateY(-50%)translateX(-50%);
}
#service .category li h3 {
 font-weight: 600;
 font-size: 240%;
 letter-spacing: 0;
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: 2;
 color: #ebeced;
 background: rgba(0, 0, 25, 0.8);
 line-height: 1.1;
 padding: 0.3em 0.45em;
 display: inline-block;
}
#service .category li h3 small {
 font-size: 75%;
}
#service .category li h3 span {
 display: block;
 color: #fae534;
}
#service .category li .txt {
 padding: 1em 3em 1em 1.5em;
 flex: 1 0 calc(100% - 14em);
 text-align: left;
}
#service .category li .ex {
 font-size: 120%;
 line-height: 1.4;
 font-weight: 600;
 text-align: left;
}
#service .category li .txt p {
 font-size: 1.5rem;
 margin-top: 1em;
 color: #d9eaf5;
 text-align: justify;
}
#service .category li .txt .btn {
 display: block;
 position: relative;
 text-align: right;
 margin-top: 1em;
}
#service .category li .txt .btn a {
 background: #fae534;
 color: #002d4c;
 font-weight: 600;
 line-height: 1.2;
 padding: 0.65em 3em 0.65em 0.75em;
 display: inline-block;
 position: relative;
 overflow: visible;
 font-size: 75%;
 text-align: left;
 letter-spacing: 0;
}
#service .category li .txt .btn a span {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 5px;
 z-index: 5;
 color: #fae534;
 font-size: 200%;
}
#service .category li .txt .btn a:before {
 content: "";
 display: block;
 height: 100%;
 padding-left: 15%;
 background: #002d4c;
 position: absolute;
 top: 0;
 right: 0;
}
#service .category li .txt .btn a strong {
 font-weight: 500;
 font-size: 120%;
 line-height: 1;
}
#reason .inner {
 padding: 5% 1.5rem;
}
#reason h2 {
 font-size: 270%;
 font-weight: 900;
 display: inline-block;
 line-height: 1;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 color: #ebeced;
}
#reason h2 small {
 display: block;
 font-size: 54%;
 text-align: right;
 margin-bottom: -2.25em;
}
#reason h2 span {
 font-size: 135%;
 line-height: 1;
}
#reason h2 span:nth-child(2) {
 font-size: 265%;
 font-weight: 800;
 color: #fae534;
}
#reason h2 span:nth-child(3) {
 color: #fae534;
}
#reason ul {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
}
#reason ul > li {
 flex: 1 0 calc(33.333% - 1.5%);
 max-width: calc(33.333% - 1.5%);
 margin: 0 calc(4.5% / 2) 0 0;
 background: #ebeced;
 position: relative;
 padding: 0.75em 0.75em 0.75em 4.5em;
 text-align: left;
}
#reason ul > li:before {
 content: "";
 display: block;
 border: 0.5em solid #13517C;
 border-left-color: transparent;
 border-bottom-color: transparent;
 height: 0;
 width: 0;
 position: absolute;
 top: -1px;
 right: 0;
 z-index: 5;
}
#reason ul > li:after {
 content: "00";
 position: absolute;
 color: #13517C;
 bottom: 0.15em;
 line-height: 1;
 right: 0.25em;
 font-size: 400%;
 font-weight: 700;
 letter-spacing: -0.025em;
 opacity: 0.2;
 pointer-events: none;
 font-family: 'Alata';
}
#reason ul > li:nth-child(1):after {
 content: "01";
}
#reason ul > li:nth-child(2):after {
 content: "02";
}
#reason ul > li:nth-child(3):after {
 content: "03";
}
#reason ul > li:nth-child(4):after {
 content: "04";
}
#reason ul > li:nth-child(5):after {
 content: "05";
}
#reason ul > li:nth-child(6):after {
 content: "06";
}
#reason ul > li:nth-child(3n) {
 margin: 0;
}
#reason ul > li:nth-child(1), #reason ul > li:nth-child(3) {
 margin-bottom: calc(6% / 2);
}
#reason ul > li:nth-child(2) {
 margin-bottom: calc(6% / 1);
 transform: translateY(-50%);
}
#reason ul > li:nth-child(4), #reason ul > li:nth-child(6) {
 margin-top: calc(6% / 2);
}
#reason ul > li:nth-child(5) {
 margin-top: calc(6% / 1);
 transform: translateY(50%);
}
#reason ul li .icon {
 position: absolute;
 top: 50%;
 left: 0.75rem;
 width: 3.5em;
 height: 3.5em;
 background: #13517C;
 border-radius: 50%;
 transform: translateY(-50%);
}
#reason ul li .icon img {
 position: absolute;
 top: 50%;
 left: 0;
 right: 0;
 margin: 0 auto;
 transform: translateY(-50%);
 height: 60%;
 width: auto;
}
#reason ul li h3 {
 font-weight: 700;
 line-height: 1.4;
 margin-bottom: 0.5em;
 letter-spacing: 0;
 font-size: 1.6rem;
}
#reason ul li h3 span {
 font-size: 120%;
 line-height: 1;
 font-weight: 700;
}
#reason ul li h3 small {
 vertical-align: super;
 font-size: 60%;
}
#reason ul li p {
 font-size: 1.3rem;
 text-align: left;
}
#reason .caution {
 position: absolute;
 bottom: -5%;
 right: 0;
 color: #fcfcfc;
 font-size: 60% !important;
}
.lower.pest #kv {
 background-image: url("../images/kv_shiroari.jpg");
 background-size: cover;
}
.lower.vermin #kv {
 background-image: url("../images/kv_vermin.jpg");
 background-size: cover;
}
.lower.injurious_bird #kv {
 background-image: url("../images/kv_injurious_bird.jpg");
 background-size: cover;
}
#features {
 background: #efefef;
 padding: 2rem 2rem calc(5% - 2rem);
 text-align: left;
}
#features:after {
 content: "";
 display: block;
 clear: both;
}
#features .bigImg {
 width: 45%;
 float: right;
 margin: 0 0 0.5em 1.5em;
}
#features h3 {
 text-align: left;
 line-height: 1.4;
 font-weight: 700;
 position: relative;
 padding-bottom: 0.5em;
 font-size: 110%;
}
#features h3:before {
 content: "特徴01";
 display: block;
 background: #002d4c;
 color: #fae534;
 width: 4.4em;
 text-align: center;
 padding: 0.25em 0.5em;
 font-size: 75%;
 border-radius: 20rem;
 margin-bottom: 0.15em;
}
#features h3:nth-of-type(2):before {
 content: "特徴02";
}
#features h3:nth-of-type(3):before {
 content: "特徴03";
}
#features p {
 font-size: 75%;
 margin-bottom: 2em;
}
#howto {
 background: #efefef;
 margin: 2rem auto 0;
 padding: 2rem 2rem 5%;
}
#howto ul {
 display: flex;
 justify-content: space-between;
}
#howto ul li {
 flex: 1 0 calc(33.333% - 1.5rem);
 max-width: calc(33.333% - 1.5rem);
}
#howto ul li .thumb {
 position: relative;
 padding-top: 56.25%;
 overflow: hidden;
}
#howto ul li .thumb img {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
#howto ul li .txt {
 display: flex;
 align-items: flex-start;
 padding-top: 0.5em;
}
#howto ul li .txt h3 {
 background: #13517C;
 font-weight: 500;
 color: #fae534;
 padding: 0.45em 0.15em 0.25em;
 flex: 1 0 4.8em;
 max-width: 4.8em;
 display: block;
 font-size: 70%;
 line-height: 1;
 transform: translateY(0.3em);
}
#howto ul li .txt h3 span {
 font-size: 350%;
 display: block;
 font-family: 'Alata';
}
#howto ul li .txt p {
 padding-left: 0.5em;
 font-size: 1.5rem;
 text-align: justify;
}
#price {
 margin: 2rem 0 0;
 padding: 5% 2rem;
}
#price .priceDetail {
 font-size: 250%;
 line-height: 1;
 display: flex;
 align-items: flex-end;
 justify-content: center;
 font-weight: 700;
 font-family: 'Alata';
}
#price .priceDetail dt {
 font-size: 70%;
}
#price .priceDetail dt:after {
 content: "/";
 padding: 0 0.75em;
 font-size: 80%;
 transform: translateY(-0.1em);
 display: inline-block;
}
#price .priceDetail small {
 font-size: 70%;
 font-weight: 900;
}
#price .priceDetail dd small {
 font-size: 50%;
}
#price h3 {
 font-size: 110%;
 font-weight: 600;
 line-height: 1;
 margin: 3.5em 0 1.5em;
 display: inline-block;
 padding: 0.35em 1.25em;
 background: rgba(255, 255, 255, 0.8);
 border-radius: 20rem;
}
#price .serviceList {
 display: flex;
 flex-wrap: wrap;
 align-items: stretch;
}
#price .serviceList > li {
 flex: 1 0 calc(20% - 1rem);
 max-width: calc(20% - 1rem);
 margin: 0 calc(5rem / 4) calc(5rem / 3) 0;
 display: flex;
 align-items: center;
}
#price .serviceList > li:nth-child(5n) {
 margin: 0 0 calc(5rem / 3);
}
#price .serviceList > li .thumb {
 flex: 1 0 50%;
 max-width: 50%;
 padding-top: 50%;
 background: #fff;
 border-radius: 50%;
}
#price .serviceList > li p {
 font-size: 80%;
 font-weight: 600;
 text-align: left;
 padding-left: 0.75em;
 line-height: 1.3;
}
#step {
 background: #efefef;
 padding: 2rem 2rem calc(5% - 2rem);
 margin: 2rem 0 0;
 text-align: left;
}
#step > ul > li {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 margin-bottom: 2em;
 position: relative;
}
#step > ul > li:before {
 content: "";
 display: block;
 width: 3px;
 height: calc(100% - 2em);
 background: #002d4c;
 border-radius: 20rem;
 position: absolute;
 left: 1.5em;
 top: 3em;
}
#step > ul > li:after {
 content: "";
 display: block;
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: #002d4c;
 position: absolute;
 bottom: -1em;
 left: calc(1.5em - 3px);
}
#step > ul > li:last-child:before, #step > ul > li:last-child:after {
 display: none;
}
#step > ul > li .subTtl {
 font-weight: 700;
 padding-left: 4em;
 display: flex;
 align-items: center;
 position: relative;
 line-height: 1.3;
 flex: 1 0 18em;
 font-size: 90%;
 transform: translateY(1em);
 z-index: 2;
}
#step > ul > li .subTtl span {
 display: block;
 line-height: 1;
 text-align: center;
 background: #002d4c;
 color: #fae534;
 width: 3em;
 height: 3em;
 border-radius: 50%;
 padding: 0.75em 0 0;
 font-size: 115%;
 position: absolute;
 left: 0;
 top: 50%;
 transform: translateY(-50%);
}
#step > ul > li .subTtl span small {
 display: block;
 font-family: 'Alata';
 color: #efefef;
 font-size: 60%;
}
#step > ul > li .thumb {
 flex: 1 0 12em;
 max-width: 12em;
 background: #ccc;
 padding-top: calc(12em * 0.5625);
 overflow: hidden;
}
#step > ul > li .thumb img {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
#step > ul > li .txt {
 flex: 1 0 calc(100% - 12em - 18em);
}
#step > ul > li .txt p {
 font-size: 1.5rem;
 padding-left: 1em;
}
#step > ul > li .txt .btn {
 margin: 0.5em 0 0;
 text-align: right;
 font-size: 80%;
}
#serviceArea .inner {
 background: #002d4c;
 padding: 2.5em;
 color: #deecf6;
}
#serviceArea .inner:before {
 content: "";
 display: block;
 border: 1.75em solid #ebeced;
 border-left-color: transparent;
 border-bottom-color: transparent;
 height: 0;
 width: 0;
 position: absolute;
 top: 0;
 right: 0;
 z-index: 5;
}
#serviceArea .inner h2 {
 font-weight: 700;
 font-size: 140%;
 color: #fae534;
 text-align: center;
 margin-bottom: 1em;
}
.lower.column #kv {
 background: url("../images/kv_column.jpg") no-repeat center center;
 background-size: cover;
}
#kv.pest {
 background-image: url("../images/kv_shiroari.jpg") !important;
}
#kv.vermin {
 background-image: url("../images/kv_vermin.jpg") !important;
}
#kv.bird {
 background-image: url("../images/kv_injurious_bird.jpg") !important;
}
.lower.column #column, .lower #columnCategory {
 padding: 5% 0 0;
}
.lower.column #column .lead {
 margin: 5% auto;
}
.lower #columnList, .lower #columnDetail, .lower #popularPost, .lower #recommendPost, .lower #newPost {
 text-align: left;
 padding: 0 0 5%;
 position: relative;
 z-index: 5;
}
.lower #columnList .display {
 font-size: 1.3rem;
 color: #5D6D77;
 margin: 1em 0;
}
.lower #columnList .display span {
 font-weight: 500;
 font-size: 125%;
}
.lower #columnDetail .contactArea.large {
 margin: 2rem auto;
}
.lower .slider2 {
 position: relative;
 z-index: 5;
}
.lower .slider2 .slide {
 margin: 0 1.125rem;
}
#postDetail {
 padding: 0 0 5%;
 position: relative;
 z-index: 5;
 font-size: 1.6rem;
}
#postDetail h1.postTtl {
 font-weight: 800;
 font-size: 150%;
 line-height: 1.3;
 background-image: linear-gradient(#fbd932 1px, transparent 1px), linear-gradient(90deg, #fbd932 1px, transparent 1px);
 background-size: 24px 24px;
 background-color: #fae534;
 color: #002d4c;
 text-align: center;
 padding: 1em 2rem;
 position: relative;
 width: calc(100% + 4rem);
 margin: 0 0 0 -2rem;
 z-index: 5;
}
#postDetail .date {
 background: none;
 justify-content: flex-start;
 padding: 0.5em 0.5em 0;
 font-size: 1.3rem;
}
#postDetail .date dl {
 margin-left: 0.35em;
}
#postDetail .postVisual {
 position: relative;
 overflow: hidden;
}
#postDetail .postVisual:before {
 content: "";
 display: block;
 padding-top: 56.25%;
}
#postDetail .postVisual img {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 margin: 0 auto;
}
.lower.voice .voice.shiroari #kv {
 background: url("../images/kv_shiroari.jpg") no-repeat center center;
 background-size: cover;
}
.lower.case.shiroari #kv {
 background: url("../images/kv_shiroari.jpg") no-repeat center center;
 background-size: cover;
}
 #caseDetail {
  padding: 1.5rem 0 5%;
}
#caseDetail .caseHeader {
 padding: 2rem;
 background: #fcfcfc;
}
#caseDetail .caseHeader .flex {
 display: flex;
 align-items: center;
 margin-bottom: 1em;
}
#caseDetail .caseHeader .flex .thumb {
 flex: 1 0 40%;
 max-width: 40%;
}
#caseDetail .caseHeader .flex .txt {
 flex: 1 0 50%;
 text-align: left;
 padding: 1em 0 1em 1.5em;
}
#caseDetail .caseHeader .flex .txt .parameter {
 display: flex;
 flex-wrap: wrap;
 font-size: 1.6rem;
}
#caseDetail .caseHeader .flex .txt .parameter dl {
 flex: 1 0 50%;
 max-width: 50%;
 display: flex;
 margin: 0.5em 0;
}
#caseDetail .caseHeader .flex .txt .parameter dl dt {
 background: #DFE6F1;
 padding: 0.1em 0.5em;
 font-size: 90%;
 flex: 1 0 6em;
 max-width: 6em;
 text-align: center;
 white-space: nowrap;
}
#caseDetail .caseHeader .flex .txt .parameter dl dd {
 padding-left: 0.5em;
}
#caseDetail .caseHeader p {
 font-size: 1.5rem;
 text-align: left;
}
#caseDetail .caseHeader .barTtl {
 margin: 2em 0 1em -2rem;
}
#caseDetail .others {
 margin: 2rem 0 0;
 padding: 3.5% 2rem 2.5%;
}
#caseDetail .others .caseLargeList {
 margin: 0;
 padding: 0;
}
.captionBox {
 display: flex;
 align-items: center;
 margin: 1.5em 0;
}
.captionBox .caption {
 flex: 1 0 20rem;
 max-width: 20rem;
}

.captionBox .txt {
 flex: 1 0 calc(100% - 20rem);
 text-align: left;
 padding: 1em 0 1em 1.5em;
}
.lower .area #kv {
 background: url("../images/240_F_1551412570_RxcddgRaefOaV08JTjahZK7TD7PkVSKF.jpg") no-repeat center center;
 background-size: cover;
}
.section {
 position: relative;
 z-index: 5;
 text-align: center;
 padding: 5% 2rem;
 border-radius: 4px;
 margin: 5% auto 0;
}
.section p {
 font-size: 1.5rem;
 text-align: left;
}
.section .barTtl {
 margin: 2em 0 1em -2rem;
}
.resultTable {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
}
.resultTable table {
 flex: 1 0 calc(50% - 0.25rem);
 max-width: calc(50% - 0.25rem);
 background: #ebeced;
 margin: 0 auto;
 font-size: 1.5rem;
}
.resultTable table tr th {
 background: #13517C;
 color: #fcfcfc;
 padding: 1em;
 white-space: nowrap;
 line-height: 1;
 border-right: solid 1px #ebeced;
 font-size: 90%;
 font-weight: 500;
}
.resultTable table tr td {
 padding: 0.75em 1.5em;
 white-space: nowrap;
 border-right: solid 1px #ebeced;
}
.resultTable table tr td:first-of-type {
 text-align: left;
 width: 70%;
}
.resultTable table tr:nth-child(odd) td {
 background-color: #E1E4E7 !important;
}
.resultTable table:last-of-type tr:nth-child(even) td {
 background-color: #E1E4E7;
}
.resultTable table:last-of-type tr:nth-child(odd) td {
 background-color: #ebeced !important;
}
.caseHeader {
 padding: 2rem;
 background: #fcfcfc;
 margin-bottom: 2rem;
}
.caseHeader .flex {
 display: flex;
 align-items: center;
 margin-bottom: 1em;
}
.caseHeader .flex .thumb {
 flex: 1 0 40%;
 max-width: 40%;
}
.caseHeader .flex .txt {
 flex: 1 0 50%;
 text-align: left;
 padding: 1em 0 1em 1.5em;
}
.caseHeader .flex .txt .parameter {
 display: flex;
 flex-wrap: wrap;
 font-size: 1.6rem;
}
.caseHeader .flex .txt .parameter dl {
 flex: 1 0 50%;
 max-width: 50%;
 display: flex;
 margin: 0.5em 0;
}
.caseHeader .flex .txt .parameter dl dt {
 background: #DFE6F1;
 padding: 0.1em 0.5em;
 font-size: 90%;
 flex: 1 0 6em;
 max-width: 6em;
 text-align: center;
 white-space: nowrap;
}
.caseHeader .flex .txt .parameter dl dd {
 padding-left: 0.5em;
}
.caseHeader p {
 font-size: 1.5rem;
 text-align: left;
}
.summaryArea {
 color: #fae534;
}
.summaryArea .lead {
 margin: 0 auto;
}
#areaServiceList .cateNameList {
 padding-bottom: 0;
}
@media screen and (max-width: 999px) {
 /* TOP */
 .top #kv {
  font-size: 1.4vw;
 }
 .top #kv .inner {
  padding: calc(80px + 2%) 1.5rem 5%;
 }
 .top #kv .inner:before {
  bottom: -3vw;
  right: -14.5%;
 }
 .top #kv:after {
  width: 68vw;
 }
 .top #kv .copy {
  font-size: 3.4vw;
 }
 .top #kv .copy .yellow {
  font-size: 230%;
 }
 .top #kv .copy img {
  height: 1.5em;
 }
 .top #kv .copy .big {
  font-size: 115%;
 }
 .top #kv p {
  font-size: 137%;
 }
 .top #kv ul li {
  font-size: 170%;
 }
 .top #kv ul li small strong {
  font-size: 170%;
 }
 #service {
  text-align: center;
  background: #f8f8f8;
 }
 #service .inner {
  padding: 0 1.5rem 1px;
 }
 #service .category li {
  display: block;
  width: 100%;
 }
 #service .category li .ph {
  flex: none;
  max-width: 100%;
  padding-top: 50%;
 }
 #service .category li .ph img {
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%)translateX(-50%);
 }
 #service .category li h3 {
  font-size: 200%;
  display: inline-block;
  position: relative;
  margin-bottom: 0.25em;
 }
 #service .category li h3 span {
  display: inline-block;
 }
 #service .category li .txt {
  padding: 1em;
  flex: none;
 }
 #service .category li .txt p {
  font-size: 1.4rem;
 }
 #service .category li .txt .btn a {
  font-size: 1.4rem;
 }
 #reason .inner {
  padding: 5% 1.5rem 0;
 }
 #reason h2 {
  font-size: 220%;
  position: relative;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  margin-bottom: 0.5em;
 }
 #reason ul {
  display: block;
 }
 #reason ul > li {
  flex: none;
  max-width: 100%;
  margin: 0 0 1em;
  padding: 0.75em 0.75em 0.75em 4.5em;
 }
 #reason ul > li:nth-child(3n) {
  margin: 0 0 1em;
 }
 #reason ul > li:nth-child(1), #reason ul > li:nth-child(3) {
  margin: 0 0 1em;
 }
 #reason ul > li:nth-child(2) {
  margin: 0 0 1em;
  transform: translateY(0);
 }
 #reason ul > li:nth-child(4), #reason ul > li:nth-child(6) {
  margin: 0 0 1em;
 }
 #reason ul > li:nth-child(5) {
  margin: 0 0 1em;
  transform: translateY(0);
 }
 #reason .caution {
  position: relative;
  bottom: 0;
  font-size: 11px !important;
 }
 #caseStudy {
  padding: 0.5rem;
 }
 #caseStudy .inner {
  padding: 0;
 }
 #features {
  padding: 1rem;
 }
 #features .bigImg {
  margin: 0 0 0.5em 1em;
 }
 #features h3 {
  font-size: 120%;
 }
 #features p {
  font-size: 14px;
 }
 #howto {
  margin: 1.5rem auto 0;
  padding: 1rem;
 }
 #howto ul {
  display: block;
 }
 #howto ul li {
  flex: none;
  max-width: 100%;
  margin-bottom: 1.5rem;
 }
 #howto ul li .txt p {
  font-size: 1.4rem;
 }
 #price {
  margin: 2rem 0 0;
  padding: 2rem 1rem 1rem;
 }
 #price .priceDetail {
  font-size: 220%;
 }
 #price h3 {
  margin: 1.5em 0 1em;
 }
 #price .serviceList > li {
  flex: 1 0 calc(50% - 0.375rem);
  max-width: calc(50% - 0.375rem);
  margin: 0 0.75rem 1rem 0;
 }
 #price .serviceList > li:nth-child(5n) {
  margin: 0 0.75rem 1rem 0;
 }
 #price .serviceList > li:nth-child(even) {
  margin: 0 0 1rem;
 }
 #price .serviceList > li:last-child {
  margin: 0;
 }
 #price .serviceList > li .thumb {
  flex: 1 0 50%;
  max-width: 50%;
  padding-top: 50%;
  background: #fff;
  border-radius: 50%;
 }
 #price .serviceList > li p {
  font-size: 80%;
  font-weight: 600;
  text-align: left;
  padding-left: 0.75em;
  line-height: 1.3;
 }
 #step {
  padding: 1.5rem 1.5rem calc(5% - 1.5rem);
  margin: 2rem 0 0;
 }
 #step > ul > li {
  display: block;
  margin-bottom: 1em;
 }
 #step > ul > li .subTtl {
  display: block;
  flex: none;
  font-size: 110%;
  padding-left: 5.5rem;
 }
 #step > ul > li .subTtl span {
  width: 4.5rem;
  height: 4.5rem;
  padding: 0.45em 0 0;
  font-size: 125%;
 }
 #step > ul > li .thumb {
  flex: none;
  max-width: 74%;
  padding-top: calc(74% * 0.5625);
  margin: 2em 0 0 5.5rem;
 }
 #step > ul > li .txt {
  flex: none;
  padding: 0.5em 0 0 5.5rem;
 }
 #step > ul > li .txt p {
  font-size: 1.5rem;
  padding-left: 0;
 }
 #step > ul > li .txt .btn {
  font-size: 100%;
 }
 #serviceArea {
  padding: 0.5rem;
 }
 #serviceArea .inner {
  padding: 0.5em;
 }
 #serviceArea .inner:before {
  border: 0.5em solid #ebeced;
  border-left-color: transparent;
  border-bottom-color: transparent;
 }
 #serviceArea .inner h2 {
  font-size: 120%;
  margin: 0.75em 0;
 }
 .lower #columnList .display {
  font-size: 1.2rem;
 }
 .lower #columnDetail .contactArea.large {
  margin: 2rem auto;
 }
 .lower .slider2 {
  position: relative;
  z-index: 5;
 }
 .lower .slider2 .slide {
  margin: 0 0.5rem;
 }
 #postDetail {
  padding: 0;
  font-size: 1.5rem;
 }
 #postDetail h1.postTtl {
  font-size: 140%;
  background-image: linear-gradient(#fbd932 1px, transparent 1px), linear-gradient(90deg, #fbd932 1px, transparent 1px);
  background-size: 12px 12px;
  padding: 1em 1.5rem;
  width: calc(100% + 2rem);
  margin: -1rem 0 0 -1rem;
  border-radius: 4px 4px 0 0;
 }
 #postDetail .date {
  padding: 1em 0.5em;
 }
 #caseDetail {
  padding: 1rem 0;
 }
 #caseDetail .inner {
  padding: 0 1rem;
 }
 #caseDetail .caseHeader {
  padding: 1rem;
 }
 #caseDetail .caseHeader .flex {
  display: block;
  margin-bottom: 1rem;
 }
 #caseDetail .caseHeader .flex .thumb {
  flex: none;
  max-width: 100%;
 }
 #caseDetail .caseHeader .flex .txt {
  flex: none;
  padding: 0;
 }
 #caseDetail .caseHeader .flex .txt .parameter {
  display: block;
  font-size: 1.4rem;
 }
 #caseDetail .caseHeader .flex .txt .parameter dl {
  flex: none;
  max-width: 100%;
 }
 #caseDetail .caseHeader p {
  font-size: 1.4rem;
 }
 #caseDetail .caseHeader .barTtl {
  margin: 2em 0 1em -1rem;
 }
 #caseDetail .others {
  padding: 7.5% 1rem 1rem;
 }
 .captionBox {
  display: block;
  margin: 1.5em auto;
 }
 .captionBox .caption {
  flex: none;
  margin: 0 auto;
 }
 .captionBox .txt {
  flex: none;
  padding: 1em 0 0;
 }
 .section {
  padding: 5% 1rem;
  border-radius: 4px;
  margin: 5% auto 0;
 }
 .section p {
  font-size: 1.5rem;
  text-align: left;
 }
 .section .barTtl {
  margin: 2em 0 1em -1rem;
 }
 .resultTable {
  overflow-x: scroll;
 }
 .resultTable table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
 }
 .caseHeader {
  padding: 1rem;
  margin-bottom: 1.5rem;
 }
 .caseHeader .flex {
  display: block;
  margin-bottom: 1em;
 }
 .caseHeader .flex .thumb {
  flex: none;
  max-width: 100%;
 }
 .caseHeader .flex .txt {
  flex: none;
  padding: 0;
 }
 .caseHeader .flex .txt .parameter {
  display: block;
  font-size: 1.4rem;
 }
 .caseHeader .flex .txt .parameter dl {
  flex: none;
  max-width: 100%;
 }
 .caseHeader p {
  font-size: 1.4rem;
 }
 .summaryArea {
  color: #fae534;
 }
 .summaryArea .lead {
  margin: 0 auto;
 }
 #areaServiceList .cateNameList {
  padding-bottom: 0;
 }
}