@charset "utf-8";

/*============================
	reset styles
============================*/

html,body,div,span,iframe,
h1,h2,h3,h4,h5,h6,p,a,em,img,small,
strong,dl,dt,dd,ol,ul,li,fieldset,
form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,
article,aside,figcaption,figure,
address,footer,header,nav,section {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    vertical-align: baseline;
    background: transparent;
}
article,aside,figcaption,
figure,footer,header,
menu,nav,section {
    display: block;
}
ul {
    list-style: none;
}
a {
    text-decoration: none;
    color: #000;
    transition: .2s;
}
a:hover {
    color: #009843;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
input,textarea {
    -webkit-appearance: none;
}
input[type="submit"] {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
    border-radius: none;
}
input,select {
    vertical-align: middle;
    border: none;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: .875rem;
    color: #231815;
}
input[type=radio] {
    display: none;
}
input:focus,
select:focus,
button:focus,
textarea:focus {
    outline: 0;
    border: 0;
    box-shadow: none;
}
textarea {
    border: none;
    resize: none;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: .875rem;
    height: 150px;
    color: #231815;
}
select {
    -webkit-appearance: none;
    appearance: none;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #e5e5e5 inset;
}


/*============================
    module style
============================*/
body {
    color: #231815;
    font-size: 1rem;
    line-height: 1.78;
    font-family: 'Noto Sans JP', sans-serif;
}
.ul-decimal {
    list-style: decimal;
}
.ul-decimal li {
    margin-left: 10px;
    padding-left: 10px;
}
.ul-inside {
    list-style: inside;
}
.ul-disc {
    list-style: disc;
    padding-left: 25px;
}

/*============================
    color
============================*/
.green { color: #0c5f32; }
.green2 { color: #009843; }
.white { color: #fff; }
.red { color: #e50000; }
.bg-white { background-color: #fff; }
.bg-green { background-color: #0c5f32; }
.bg-lightgreen { background-color: #eaf4ea; }
.bg-gray { background-color: #eaebea; }

/*----------------------------
  text
-----------------------------*/
.bold { font-weight: bold; }
.bold-400 { font-weight: 400; }
.bold-500 { font-weight: 500; }
.tx-center { text-align: center; }
.tx-right { text-align: right; }
.tx-left { text-align: left; }
.fs-10 { font-size: .625rem; }
.fs-13 { font-size: .8125rem; }
.fs-12 { font-size: .75rem; }
.fs-16 { font-size: 1rem; }
.fs-18 { font-size: 1.125rem; }
.fs-23 { font-size: 1.4375rem; }
.fs-26 { font-size: 1.625rem; }
.fs-28 { font-size: 1.75rem; }
.fs-32 { font-size: 2rem; }
.lh-1_3 { line-height: 1.3; }

/*----------------------------
  border
-----------------------------*/
.br-lightgreen { border-right: solid 2px #eaf4ea; }
.bd-radius-20 { border-radius: 20px; }

/*----------------------------
  layout
-----------------------------*/
.inner {
    padding: 0 40px;
    max-width: 1000px;
    margin: auto;
    display: block;
}
.flex {
    display: flex;
    display: -webkit-flex;
    display: -ms-flex;
}
.none { display: none; }
.flex-wrap { flex-wrap: wrap; }
@media screen and (min-width: 768px) {
    .pc-flex-wrap {flex-wrap: wrap;}
}
.block { display: block; }
.inline-b { display: inline-block;}
.sp-block { display: none; }
.sm-block { display: none; }
.jc-between { justify-content: space-between; }
.jc-around { justify-content: space-around; }
.jc-center { justify-content: center; }
.jc-flexend { justify-content: flex-end; }
.align-items { align-items: center; }
.align-items-bline { align-items: baseline; }
.fd-row { flex-direction: row-reverse; }
.w-50 { width: 50%; }
.w-77 { width: 77%; }
.w-48 { width: 48%; }
.w-88 { width: 88%; }
.w-full { width: 100%; }
.shadow { box-shadow: 2px 3px 35px -5px rgba(0, 0, 0, 0.4); }
.of-hidden { overflow: hidden ;}

/*----------------------------
  position
-----------------------------*/
.ps-r { position: relative; }
.ps-a { position: absolute; }

/*----------------------------
  space
-----------------------------*/
.m-auto {
    margin: auto;
    display: block;
}
.mt-40 { margin-top: 40px; }
.mt-110 { margin-top: 110px; }
.mt-140 { margin-top: 140px; }
.mb-5 { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.mb-28 { margin-bottom: 28px; }
.mb-40 { margin-bottom: 40px; }
.mb-45 { margin-bottom: 45px; }
.mb-55 { margin-bottom: 55px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-90 { margin-bottom: 90px; }
.mb-110 { margin-bottom: 110px; }
.mb-120 { margin-bottom: 120px; }
.mb-145 { margin-bottom: 145px; }
.mb-160 { margin-bottom: 160px; }
.mb-200 { margin-bottom: 200px; }
.mb-210 { margin-bottom: 210px; }
.mb-240 { margin-bottom: 240px; }
.mb-255 { margin-bottom: 255px; }
.mr-20 { margin-right: 20px; }
.mr-35 { margin-right: 35px; }
.ml-20 { margin-left: 20px; }
.pl-5 { padding-left: 5px; }
.pt-10 { padding-top: 10px }
.pt-20 { padding-top: 20px; }
.pt-70 { padding-top: 70px; }
.pt-90 { padding-top: 90px; }
.pt-100 { padding-top: 100px; }
.pt-140 { padding-top: 140px; }
.pb-120 { padding-bottom: 120px; }
.pb-90 { padding-bottom: 90px; }
.pb-100 { padding-bottom: 100px; }
.pb-200 { padding-bottom: 200px; }
.pb-315 { padding-bottom: 315px; }
.lh-1_5 { line-height: 1.5; }


@media screen and (max-width:767px) {
    .sp-block { display: block; }
    .sp-none {  display: none; }
    .sp-flex {
        display: flex;
        display: -webkit-flex;
        display: -ms-flex;
    }
    .sp-flex-wrap {
        flex-wrap: wrap;
    }
    .sp-fd-column { flex-direction: column; }
    .sp-jc-between { justify-content: space-between; }
    .inner { padding: 0 15px; }
    .sp-w-97 { width: 97%; }
    .sp-w-80 { width: 80%; }
    .sp-w-full { width: 100%; }
    .sp-mb-20 { margin-bottom: 20px!important; }
    .sp-mb-50 { margin-bottom: 50px; }
    .fs-10 { font-size: .625rem; }
    .fs-13 { font-size: .8125rem; }
    .fs-12 { font-size: .75rem; }
    .fs-16 { font-size: 1rem; }
    .fs-18 { font-size: 1rem; }
    .fs-23 { font-size: 1rem; }
    .fs-26 { font-size: 1.125rem; }
    .fs-28 { font-size: 1.25rem; }
    .fs-32 { font-size: 1.75rem; }

    .mb-110 { margin-bottom: 85px;}
}

@media screen and (max-width:560px) {
    .sm-block { display: block; }
    .sm-none { display: none; }
    .lh-1_3 { line-height: 1.1; }
}