<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";


/*
##### SRM #####
css/style_sp.css
*/


/* --------------------------------------------------
header
-------------------------------------------------- */
header a:link,
header a:visited {
text-decoration: none;
}
.globalHeader {
position: fixed;
width: 100%;
height: 16vw;
background-color: #fff;
z-index: 1000;
}
.globalHeader .inner.cols {
box-sizing: border-box;
width: 100%;
height: 100%;
padding: 0 4.933335vw 0 2vw;
justify-content: space-between;
align-items: center
}
.globalHeader .logo {
display: block;
width: 77.777778vw;
height: auto;
}
.globalHeader .logo a {
display: block;
width: 100%;
height: 100%;
}
.globalHeader .logo .mainLogo {
padding-right: 1.5vw;
border-right: 1px solid #c7c7c7;
}

.globalHeader .logo .mainLogo,
.globalHeader .logo .siteLogo {
box-sizing: border-box;
display: inline-block;
width: 48%;
}
.globalHeader .logo .siteLogo {
padding-left: 1.5vw
}

.headerBttns {
display: none;
}

.hamburger {
position: relative;
display: block;
width: 7vw;
height: 5.8vw;
}
.hamburger .trigger {
position: absolute;
display: block;
width: 100%;
height: 100%;
cursor: pointer;
z-index: +1;
}
.hamburger .trigger2 {
display: block;
height: 100%;
width: 100%;
cursor: pointer;
}
.hamburger .bar,
.openM.closeM .hamburger .bar {
position: absolute;
display: block;
height: 0.4vw;
width: 100%;
background-color: #000;
}

.hamburger .bar.upper {
top: 0;
}

.hamburger .bar.middle {
top: 50%;
margin-top: -.2vw
}

.hamburger .bar.bottom {
bottom: 0;
}


.openM .hamburger .trigger {
display: none;
}
.openM .hamburger .bar.upper {
animation: barUp .25s both;
}
.openM .hamburger .bar.bottom {
animation: barBttm .25s both;
}
.openM .hamburger .bar.middle {
animation: barMddl .25s both;
}

@keyframes barUp {
0% { transform: translateY(0) rotate(0); }
50% { transform: translateY(2.7vw) rotate(0); }
100% { transform: translateY(2.7vw) rotate(45deg); }
}
@keyframes barBttm {
0% { transform: translateY(0) rotate(0); }
50% { transform: translateY(-2.7vw) rotate(0); }
100% { transform: translateY(-2.7vw) rotate(-45deg); }
}
@keyframes barMddl {
0% { opacity: 1 }
50% { opacity: 1 }
100% { opacity: 0 }
}


/* --------------------------------------------------
Doesn't "reverse" on Android
-------------------------------------------------- */

.openM.closeM .hamburger .trigger {
display: none;
}
.openM.closeM .hamburger .bar.upper {
animation: barUpr .25s both;
}
.openM.closeM .hamburger .bar.bottom {
animation: barBttmr .25s both;
}
.openM.closeM .hamburger .bar.middle {
animation: barMddlr .25s both;
}

@keyframes barUpr {
0% { transform: translateY(2.7vw) rotate(45deg); }
50% { transform: translateY(2.7vw) rotate(0); }
100% { transform: translateY(0) rotate(0); }
}
@keyframes barBttmr {
0% { transform: translateY(-2.7vw) rotate(-45deg); }
50% { transform: translateY(-2.7vw) rotate(0); }
100% { transform: translateY(0) rotate(0); }
}
@keyframes barMddlr {
0% { opacity: 0 }
50% { opacity: 1 }
100% { opacity: 1 }
}




/* --------------------------------------------------
main nav
-------------------------------------------------- */


.gNav {
position: fixed;
box-sizing: border-box;
top: 16vw;
left: 0;
height: 0;
width: 100%;
background-color: #fff;
overflow-y: hidden;
opacity: 0;
z-index: 1100;
transition: opacity .5s ease, height .1s ease
}
.gNav.rise {
height: calc(100vh - 16vw);
overflow-y: scroll;
opacity: 1;
transition: opacity .5s ease, height .3s ease .1s
}
.gNav .mainNav {
background-color: #e6e6e6;
flex-direction: column;
}
.mainNav &gt; li {
display: block;
width: 100%;
border-bottom: 1px solid #fff;
}
.mainNav &gt; li &gt; a {
position: relative;
box-sizing: border-box;
display: flex;
width: 100%;
height: 14.666667vw;
align-items: center;
font-size: 4.533333vw;
font-weight: bold;
letter-spacing: 0.06em;
padding-left: 10%;
text-decoration: none;
}


.mainNav &gt; li.trigger {
position: relative;
}
.mainNav &gt; li.trigger &gt; a {
pointer-events: none
}
.mainNav &gt;li.trigger &gt; a::after {
content: '';
display: inline-block;
width: 2.666667vw;
height: 2.666667vw;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
position: absolute;
top: 50%;
right: 8%;
transform: translateY(-50%) scale(.7, 1) rotate(45deg);
}

.mainNav .child {
display: block;
overflow: hidden;
background-color: rgba(255, 255, 255, .35)
}
.mainNav .child li {
display: block;
width: 100%;
border-top: 1px solid #fff;
}
.mainNav .child li a {
display: block;
padding: 4% 5% 4% 14%;
font-size: 4vw;
line-height: 1.4;
font-weight: 500;
color: #666;
text-decoration: none;
}


#locator_template_c2 {
display: none;
}



/* --------------------------------------------------
main layout
-------------------------------------------------- */

.sec {
display: block;
width: 100%;
margin: 0 auto;
padding: 18vw 0;
}
.polygonDim1 {
padding: 15vw 0;
background-color: var(--main-color-dim1);
clip-path: polygon(0 0, 100% 8.533333vw, 100% calc(100% - 8.533333vw), 0 100%)
}
.polygonDim1 + .sec {
padding-bottom: 10vw
}
.sec &gt; .inner {
width: 90.133333%;
margin: 0 auto;
}

.mv {
width: 100%;
padding-top: 16vw;
margin: 0 auto;
position: relative;
overflow: hidden;
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8.533333vw), 0 100%)
}

.secTtl,
.secEttl {
text-align: center;
}
.secEttl {
display: block;
position: relative;
margin-top: 3vw;
margin-bottom: 12vw;
}
.secEttl::after {
content: '';
display: block;
width: 7.2vw;
height: 1px;
background-color: currentColor;
position: absolute;
bottom: -6vw;
left: 50%;
transform: translateX(-50%)
}

.lead {
font-size: 4vw;
line-height: 1.75;
font-variant-east-asian: proportional-width;
font-feature-settings: "pwid";
margin-bottom: 12vw
}
.ttl,
.ttlL,
.ttlS,
.ttlL2,
.ttlM,
.ttlSS {
font-weight: bold;
letter-spacing: 0.04em;
line-height: 1.4;
margin: 0 0 6vw;
}
.ttlSS {
font-size: 4vw;
margin-top: 8vw;
margin-bottom: 2vw;
color: var(--main-color)
}
.ttlS {
font-size: var(--f35);
color: var(--main-color);
margin-bottom: 2vw;
}
.ttl,
.ttlM {
font-size: var(--f38);
line-height: 1.4;
margin-bottom: 3vw
}
.ttlL,
.ttlL2 {
color: var(--main-color);
font-feature-settings: "palt"
}
.ttlL {
font-size: var(--f43);
line-height: 1.3;
padding-bottom: 0.25em;
border-bottom: 1px solid var(--main-color);
}
.ttlL2 {
font-size: var(--f43);
}


.right-bar {
padding-left: 2.266667vw;
border-left: 1.2vw solid var(--main-color);
color: var(--main-color)
}
.bullet::before {
content: '• '
}


.text {
font-size: var(--f28);
line-height: 1.75;
letter-spacing: 0.06em;
font-variant-east-asian: proportional-width;
font-feature-settings: "pwid";
margin-bottom: 12vw;
}
.text p {
font-size: var(--f28);
text-align: justify;
}
.text p + p {
margin-top: 1.75em;
}
.text p + .imgBox {
margin-top: 6vw;
margin-bottom: 8vw;
}

.text ul,
.text ol {
margin: 0.75em 0 1.75em
}
.text ul li {
list-style: disc;
margin-left: 1.75em;
}
.text ol li {
counter-increment: numlist;
margin-left: 1.75em;
}
.text ol li::before {
content: counter(numlist);
padding-right: .75em;
}

.toc {
box-sizing: border-box;
display: block;
width: 100%;
padding: 2em 1em;
margin: 0 auto;
}

.tocTtl {
font-size: var(--f38);
font-weight: bold;
line-height: 1;
letter-spacing: 0.08em;
padding-bottom: 6vw;
margin-bottom: 8vw;
text-align: center;
}

.tocList li {
display: flex;
align-items: center;
padding: .75em 0;
counter-increment: tolist;
font-size: var(--f28);
line-height: 1.3;
font-feature-settings: "palt"
}


.tocList li+li {
border-top: 1px solid var(--main-color-dim1);
}

.tocList li a {
text-decoration: none;
}

.tocList li::before {
content: counter(tolist);
font-size: 3.733333vw;
line-height: 1;
display: inline-flex;
justify-content: center;
align-items: center;
vertical-align: baseline;
flex: 0 0 var(--f35);
height: var(--f35);
margin: 0 1em;
color: #fff;
background-color: var(--main-color);
}

.relatedLinks {
box-sizing: border-box;
display: block;
width: 100%;
padding: 10vw 4vw;
margin: 12vw auto;
background-color: #fff;
border: 1px solid var(--main-color)
}
.polygonDim1 .relatedLinks {
border: none;
}

.relatedLinks .colTtl {
text-align: center;
margin-bottom: 10vw;
position: relative;
font-weight: bold;
color: var(--main-color)
}
.relatedLinks .colTtl::after {
content: '';
display: block;
width: 36vw;
height: 1px;
background-color: var(--main-color);
position: absolute;
bottom: -2.666667vw;
left: 50%;
transform: translateX(-50%)
}
.relatedLinks .cols {
flex-direction: column;
}
.relatedLinks .linkDes {
margin-bottom: 6vw
}
.relatedLinks .imgBox {
display: block;
flex: 0 0 53.866667vw;
height: 35.2vw;
}
.relatedLinks .imgBox img {
object-fit: cover
}
.relatedLinks .linkTtl {
font-size: var(--f28);
font-weight: bold;
line-height: 1.75;
margin-bottom: 1em;
}
.relatedLinks .cols +.cols {
margin-top: 7vw;
}
.relatedTopics li {
margin-bottom: 1em;
}
.relatedTopics a {
color: #0071BC;
text-decoration: underline;
}

.table1,
.table2 {
width: auto;
margin: 8vw auto 10vw
}
.table3 {
width: auto;
margin: 8vw auto 0
}
.table3 thead,
.table1 thead {
background-color: #91BE32;;
color: #fff;
font-weight: bold;
}
.table3 thead th,
.table1 thead th {
font-size: var(--f32);
line-height: 1;
height: 14vw;
text-align: center;
vertical-align: middle;
border: 1px solid #fff;
}
.table2 tbody th {
background-color: #91BE32;;
height: 16vw;
color: #fff;
font-weight: bold;
vertical-align: middle;
white-space: nowrap;
padding: 1em;
border-bottom: 1px solid #fff;
}
.table3 tbody td,
.table1 tbody td,
.table2 tbody td {
font-size: var(--f28);
padding: 1em;
vertical-align: middle;
white-space: inherit;
line-height: 1.4
}
.table3 tbody th {
padding: 0.25em;
font-size: var(--f28);
vertical-align: middle;
}
.table3 tbody th,
.table1 tbody td {
border: 1px solid #fff;
background-color: #E9F2D6;
}
.table2 tbody td {
border-bottom: 1px solid var(--main-color-dim1);
background-color: #fff;
}
.table3 tbody td {
border-bottom: 1px solid var(--main-color-dim1);
border-right: 1px solid var(--main-color-dim1);
background-color: #fff;
}

.table1 tbody tr td:last-child {
text-align: center;
}
.table3 tfoot td,
.table1 tfoot td,
.table2 tfoot td {
font-size: var(--f28);
line-height: 1.4;
border: none;
}
.table1 tfoot td,
.table2 tfoot td {
text-align: center;
padding-top: 4vw;
}
.table3 tfoot td {
padding: 1em;
}
.noteList {
display: table;
}
.noteList li {
display: table-row;
}
.noteList li span {
display: table-cell;
padding: 0.25em 0
}
.noteList li span:first-child {
padding-right: .25em;
}

.cv {
margin: 16vw auto 6vw;
}
.cv + .cv {
margin-top: 8vw;
margin-bottom: 16vw;
}

.cv2,
.cv3 {
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
width: 100%;
height: auto;
}
.cv2 {
margin: 0 auto;
padding: 8vw 0 4vw;
background: url(/dcms_media/image/bg_cv2.jpg) no-repeat center top / cover
}
.cv3 {
padding: 8vw 0;
background: url(/dcms_media/image/bg_cv3.jpg) no-repeat center top / cover
}

.cvTtl {
font-size: var(--f43);
font-weight: bold;
color: #fff;
text-align: center;
line-height: 1.4;
}
.cvCap {
font-size: var(--f28);
font-weight: bold;
line-height: 1.75;
text-align: center;
margin: 1em 0;
}
.cv2 .cvCap {
color: #fff;
}
.cvCap a {
color: currentColor
}

.sheriff-bttn-set.bttns {
display: flex;
justify-content: space-between;
flex-direction: column;
width: var(--w90);
height: auto;
margin: 16vw auto 8vw;
}
.sheriff-bttn-set.bttns .bttn {
box-sizing: border-box;
flex: 0 0 50%;
display: flex;
justify-content: center;
align-items: center;
height: auto;
padding: 1em 0;
font-size: var(--f35);
line-height: 1.65;
text-align: center;
font-weight: bold;
text-decoration: none;
background-repeat: no-repeat;
background-position: 93% center;
background-size: auto 5.066667vw;
transition: .2s ease;
}
.sheriff-bttn-set.bttns .bttn + .bttn {
margin-top: 1.5em;
}
.polygonDim1 .bttn.inq {
border: none;
}



.sheriff-single-bttn.bttns .bttn,
.training.bttns .bttn {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
font-size: var(--f35);
line-height: 1.3;
font-weight: bold;
text-decoration: none;
text-align: center;
background-repeat: no-repeat;
background-position: 95% center;
background-size: auto 5.066667vw;
transition: .2s ease;
width: 100%;
padding: 1em 0;
margin: 10vw auto;
transition: .2s ease;
}
.sheriff-bttn-set.bttns .bttn,
.sheriff-single-bttn.bttns .bttn {
background-image: url(/dcms_media/image/ico_right_arrw_blk.png);
}
.training.bttns .bttn {
color: #fff;
background-color: var(--main-color);
background-image: url(/dcms_media/image/ico_right_arrw_wht.png);
}


.bttn.free {
background-color: #F2DB59
}
.bttn.inq {
background-color: #fff;
border: 1px solid #000
}


.sheriffbox {
align-items: center;
flex-direction: column;
}

.sheriffbox .descol {
box-sizing: border-box;
padding: 1em;
font-size: 90%;
line-height: 1.7;
font-feature-settings: "palt"
}
.sheriffbox .descol b {
color: var(--main-color)
}



/* --------------------------------------------------
services
-------------------------------------------------- */

.services .mv {
height: auto;
}

.services .mv .inner {
width: 100%;
height: 100%;
margin: 0 auto
}
.services .mv .colorBox {
width: 100%;
height: 100%;
position: relative;
}
.services .mv .colorBox::before {
content: '';
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background-color: rgba(140, 30, 40, .8);
mix-blend-mode: multiply;
}
.services .mv .colorBox .colorBoxInner {
box-sizing: border-box;
display: flex;
width: 100%;
padding: 16.266667vw 4.933333vw;
transform: translateY(0);
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
}
.services .mv .mainTitles {
margin-bottom: 5vw;
font-feature-settings: "palt"
}
.services .mv .mainTtl {
font-size: 8vw;
line-height: 1.333;
letter-spacing: 0.12em;
color: #fff;
}
.services .mv .subTtl {
display: block;
font-size: 4.666667vw;
line-height: 1;
letter-spacing: 0.08em;
color: #fff;
margin-bottom: 3vw;
}
.services .mv .lead {
line-height: 1.625;
color: #fff;
margin-bottom: 0
}


.services .bttns .bttn {
box-sizing: border-box;
display: flex;
height: 16.533333vw;
justify-content: center;
align-items: center;
font-size: var(--f32);
font-weight: bold;
text-decoration: none;
background-image: url(/dcms_media/image/ico_right_arrw_blk.png);
background-repeat: no-repeat;
background-position: 93% center;
background-size: auto 4.266667vw;
transition: .2s ease
}

.services .bttns .bttn + .bttn {
margin-top: 1.5em;
}


.services .secTtl2, 
.services .secTtl {
font-size: var(--f50);
font-weight: bold;
line-height: 1.6;
position: relative;
font-feature-settings: "palt"
}
.services .secTtl {
margin-bottom: 16vw;
}
.services .secTtl2 {
text-align: center;
margin-bottom: 10vw;
font-feature-settings: "palt"
}
.services .secTtl::after {
content: '';
display: block;
width: 7.2vw;
height: 1px;
background-color: currentColor;
position: absolute;
bottom: -8vw;
left: 50%;
transform: translateX(-50%)
}

.services .sec .lead {
letter-spacing: 0.06em;
margin-bottom: 8vw;
}
.services .sec1 .lead {
font-weight: bold;
letter-spacing: 0.12em;
}
.services .lead br {
display: none;
}


.services .toc {
background-color: var(--main-color)
}
.services .tocList li {
color: #fff;
}

.services .tocList li::before {
color: var(--main-color);
background-color: #fff;
}

.services .feature1 {
flex-direction: column;
width: 80.266667vw;
margin: 0 auto 6vw;
}
.services .feature1 .col3 {
position: relative;
background-color: rgb(249, 239, 178);
margin-bottom: 10vw;
}
.services .feature1 .col3 .imgBox {
display: block;
width: 66.666667vw;
height: 66.666667vw;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%)
}
.services .feature1 .col3 .des {
display: block;
border-top: 41.466667vw solid var(--main-color-dim1);
box-sizing: border-box;
font-size: var(--f32);
padding: 30.666667vw 8vw 10vw;
background-color: rgb(249, 239, 178)
}
.services .feature1 .col3 .des .text {
margin-bottom: 0
}
.services .feature1 .col3 .des .text p {
font-size: var(--f32);
}
.services .feature1 .col3 .des .text p.small {
font-size: 80%;
line-height: 1.3;
text-indent: -1em;
padding-left: 1em;
}
.services .feature1 .ttl {
font-size: var(--f43);
line-height: 1.5;
letter-spacing: 0.08em;
text-align: center;
margin-top: 0;
margin-bottom: 25px
}

.services .feature2 {
display: flex;
flex-direction: column;
width: 100%;
margin-bottom: 10vw;
}
.services .feature2 .imgBox {
display: block;
width: 100%;
height: auto;
}
.services .feature2 .leftP,
.services .feature2 .leftPh {
top: 0; 
left: 0;
}
.services .feature2 .rightP,
.services .feature2 .rightPh {
bottom: 0; 
right: 0;
}
.services .feature2 .plate {
box-sizing: border-box;
display: block;
width: 100%;
padding: 5vw;
background-color: var(--main-color);
color: #fff;
}
.services .feature2 .plate .plateTtl {
font-size: var(--f38);
line-height: 1.5;
font-weight: bold;
margin-bottom: 6vw;
}
.services .feature2 .plate .text .note {
text-align: left;
font-size: 80%;
}

.services .sec3 .link {
text-align: center;
font-size: var(--f28);
font-weight: bold;
margin-top: 8vw;
}

.services .merit {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.services .merit li {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
flex: 0 0 42.133333vw;
margin-bottom: 6vw;
}
.services .merit .jp {
margin: 2.666667vw 0;
font-size: var(--f35);
font-weight: bold;
line-height: 1;
letter-spacing: 0.06em
}
.services .merit .en {
font-size: 2.8vw;
letter-spacing: 0.02em;
color: #7DB414;
}



/* --------------------------------------------------
 footer
-------------------------------------------------- */

footer {
position: relative;
border-top: 1px solid #e6e6e6;
margin-top: 26vw
}

.footerNavArea {
display: block;
width: 90.133333%;
margin: 6vw auto;
}
.back2top {
position: absolute;
right: 6.510417%;
top: -16vw;
display: block;
width: 10.133333vw;
height: 10.133333vw;
z-index: 3;
}

.back2top a {
display: block;
background-color: var(--main-color);
width: 100%;
height: 100%;
text-indent: -9999px;
overflow: hidden;
}
.back2top a:before {
content: "";
display: block;
position: absolute;
left: 0;
right: 0;
top: 1.6vw;
bottom: 0;
margin: auto;
width: 3.2vw;
height: 3.2vw;
border-right: 0.8vw solid #fff;
border-top: 0.8vw solid #fff;
transform-origin: center center;
transform:  rotate(-45deg);
}
.footerNavArea .cols {
width: 100%;
justify-content: center;
}
.footerNavArea .cols .col:nth-child(n+2) {
display: none;
}
.footerNavArea .cols .col:first-child {
padding-top: 0;
text-align: center;
}
.footerNavArea .cols .col:first-child ul {
margin-top: 1em;
}
.footerNavArea .cols .col:first-child li {
display: block;
font-size: 3.2vw;
line-height: 1.4;
padding: 1em 0;
}
.footerNavArea .cols a {
text-decoration: none;
}
.footerNavArea .logo {
display: block;
width: 50.933333vw;
height: 9.333333vw
}
footer .addressArea {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: auto;
padding: .75em 0;
background-color: var(--main-color)
}
footer .addressArea .copyright {
font-size: 2.666667vw;
letter-spacing: 0.03em;
color: #fff
}
</pre></body></html>