@charset "UTF-8";

/* reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section,
summary, time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

html,body{
     height:100%;
}

.wrap{
      width: 100%;
    position: relative;
    min-height: 100%;
}

/* base */
body {
line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}

nav ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content: "";
content: none;
}

a {
margin: 0;
padding: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
transition: .6s;
}

img {
  width: 100%;
vertical-align: middle;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #cccccc;
margin: 0;
padding: 0;
}

/* Custom reset */
* {
-webkit-text-size-adjust: 100%;
box-sizing: border-box;
}

button,
input[type="submit"] {
cursor: pointer;
-webkit-appearance: none;
}

ul {
list-style: none;
}

ol {
padding-left: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}

/* font */
body,
button,
input,
textarea {
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}


:where(body) {
    min-block-size: 100dvb;
    margin: unset;
    font-size: 1.6rem;
    color: #343434;
    background: #fff;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
}
:where(:root) {
    font-family: sans-serif;
    line-height: 1.5;
    text-spacing-trim: trim-start;
    text-autospace: normal;
    line-break: strict;
    overflow-wrap: anywhere;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scrollbar-gutter: stable;
    -webkit-tap-highlight-color: transparent;
}






/* html & body */
html {
font-size: 62.5%;
overflow-y: scroll;
}

body {
  background-color: #FFF;
    color: #424f5d;
  font-family: YakuHanJP_Narrow,  "Noto Sans JP","Murecho", serif, sans-serif;
min-width: 320px;
letter-spacing: 0.05rem;
font-weight: 500;
  word-break: break-word;
  line-break: strict;
  font-feature-settings: "pkna" 1;
  hanging-punctuation: last allow-end;
  font-feature-settings: "palt";
}

.url {
	word-break: break-all;
	text-justify: inter-character;
}

/* anchor */
a {
color: #4b505a;
text-decoration: none;
}

a:hover,
a:active {
/* opacity: .8; */
text-decoration: none;
}

a:focus {
outline: none;
}

/* clearfix */
.cf::after {
content: "";
display: table;
clear: both;
}

.txt_bold{
font-weight: 700;
}

.txt_red {
color: #e45b5b;
}

.txt_link{
display: inline-block;
border-bottom: 1px dotted #0079e1;
color: #0079e1 !important;
}

.txt_gray {
color: #ccc;
}

.txt_blue {
color: #003B79;
}

.txt_blue2 {
color: #3ab3ce;
}

.pink500{
  color: #ec48a1;
  color: #d75c77;
  color:#f68804;font-weight: 500;
}

.txt_green2 {
color: #5fce62;
}

.txt_orange{
color: #ef9635;
}

.txt_azuki{
color: #9b473e;
}

.maru{
  color:var(--primary-400);
}

.cen{
text-align: center
}

.cen_auto{
margin: 0 auto}

.s_note{font-size: .8em}

.m2_font{
color: #2fa314;
font-size: 1.8rem !important;}

.m3_font{
color: #2fa314;
font-size: 1.6rem !important;}

.ntbr{
white-space: nowrap;
}

@media screen and (min-width:769px) {
body {
font-size: 1.6rem;
line-height: 1.8;
letter-spacing: .08em;
background-color: #fffefd;
}

a[href^="tel:0454893638"] {
    pointer-events: none;
    cursor: default;
}

.pc{
display: block !important;
}

.sp{
display: none !important;
}

.mbpc5{
margin-bottom:.5rem !important;
}

.mbpc10{
margin-bottom:1rem !important;
}
.mbpc20{
margin-bottom:2rem !important;
}
.mbpc30{
margin-bottom:3rem !important;
}
.mbpc40{
margin-bottom:4rem !important;
}
.mbpc50{
margin-bottom:5rem !important;
}
.mbpc60{
margin-bottom:6rem !important;
}
.mbpc70{
margin-bottom:7rem !important;
}
.mbpc80{
margin-bottom:8rem !important;
}
.mbpc90{
margin-bottom:9rem !important;
}
.mbpc100{
margin-bottom:10rem !important;
}
.mbpc110{
margin-bottom:11rem !important;
}
.mbpc120{
margin-bottom:12rem !important;
}
.mbpc130{
margin-bottom:13rem !important;
}
.mbpc140{
margin-bottom:14rem !important;
}
.mbpc150{
margin-bottom:15rem !important;
}
.mbpc160{
margin-bottom:16rem !important;
}
.mbpc170{
margin-bottom:17rem !important;
}
.mbpc180{
margin-bottom:18rem !important;
}
.mbpc190{
margin-bottom:19rem !important;
}
.mbpc200{
margin-bottom:20rem !important;
}
.mtpc10{
margin-top:1rem !important;
}
.mtpc20{
margin-top:2rem !important;
}
.mtpc30{
margin-top:3rem !important;
}
.mtpc50{
margin-top:5rem !important;
}
.mtpc60{
margin-top:6rem !important;
}
.mtpc70{
margin-top:7rem !important;
}
.mtpc80{
margin-top:8rem !important;
}
.mtpc90{
margin-top:9rem !important;
}
.mtpc100{
margin-top:10rem !important;
}
.mtpc110{
margin-top:11rem !important;
}
.mtpc120{
margin-top:12rem !important;
}
.mtpc130{
margin-top:13rem !important;
}
.mtpc140{
margin-top:14rem !important;
}
.mtpc150{
margin-top:15rem !important;
}
.mtpc160{
margin-top:16rem !important;
}
.mtpc170{
margin-top:17rem !important;
}
.mtpc180{
margin-top:18rem !important;
}
.mtpc190{
margin-top:19rem !important;
}
.mtpc200{
margin-top:20rem !important;
}

.pbpc20{
padding-bottom:2rem !important;
}

.pbpc50{
padding-bottom:5rem !important;
}

.ptpc30{
padding-top:3rem !important;
}

.ptpc50{
padding-top:5rem !important;
}

.alink{
margin-top: -13rem !important;;
padding-top: 13rem !important;
}


}
/*PC*/


@media screen and (max-width:768px) { 
body {
font-size: 1.4rem;
      letter-spacing: 0.05em;
line-height: 1.8;
}


.pc{
display: none !important;
}

.sp{
display: block !important;
}

.mbsp5{
margin-bottom:.5rem !important;
}

.mbsp10{
margin-bottom:1rem !important;
}
.mbsp20{
margin-bottom:2rem !important;
}
.mbsp30{
margin-bottom:3rem !important;
}
.mbsp40{
margin-bottom:4rem !important;
}
.mbsp50{
margin-bottom:5rem !important;
}
.mbsp60{
margin-bottom:6rem !important;
}
.mbsp70{
margin-bottom:7rem !important;
}
.mbsp80{
margin-bottom:8rem !important;
}
.mbsp90{
margin-bottom:9rem !important;
}
.mbsp100{
margin-bottom:10rem !important;
}
.mbsp110{
margin-bottom:11rem !important;
}
.mbsp120{
margin-bottom:12rem !important;
}
.mbsp130{
margin-bottom:13rem !important;
}
.mbsp140{
margin-bottom:14rem !important;
}
.mbsp150{
margin-bottom:15rem !important;
}
.mbsp160{
margin-bottom:16rem !important;
}
.mbsp170{
margin-bottom:17rem !important;
}
.mbsp180{
margin-bottom:18rem !important;
}
.mbsp190{
margin-bottom:19rem !important;
}
.mbsp200{
margin-bottom:20rem !important;
}
.mtsp10{
margin-top:1rem !important;
}
.mtsp20{
margin-top:2rem !important;
}
.mtsp30{
margin-top:3rem !important;
}
.mtsp40{
margin-top:4rem !important;
}
.mtsp50{
margin-top:5rem !important;
}
.mtsp60{
margin-top:6rem !important;
}
.mtsp70{
margin-top:7rem !important;
}
.mtsp80{
margin-top:8rem !important;
}
.mtsp90{
margin-top:9rem !important;
}
.mtsp100{
margin-top:10rem !important;
}
.mtsp110{
margin-top:11rem !important;
}
.mtsp120{
margin-top:12rem !important;
}
.mtsp130{
margin-top:13rem !important;
}
.mtsp140{
margin-top:14rem !important;
}
.mtsp150{
margin-top:15rem !important;
}
.mtsp160{
margin-top:16rem !important;
}
.mtsp170{
margin-top:17rem !important;
}
.mtsp180{
margin-top:18rem !important;
}
.mtsp190{
margin-top:19rem !important;
}
.mtsp200{
margin-top:20rem !important;
}

.ptsp50{
padding-top:5rem !important;
}

.alink{
margin-top: -5rem !important;;
padding-top: 5rem !important;
}

}
/*sp*/





html, body {
  scroll-behavior: smooth;
  scroll-padding-top: 180px;
}

@media (max-width: 768px) {
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
}




