@charset "utf-8";
section#top {
 background-image: url(../image/bcg_lib2.jpg) !important;
}
main {
 & #contents {
  section {
   gap: 1em !important;
  }
 }
}
p {
 margin: 3px 0;
}
.toptxt {
 font-size: 1.1em;
}
h1 {
 width: 80%;
}
h1>span.sub-title{
    font-size: .5em!important;
}
h1>img{width: 70%;}
.title01 {
 font-size: clamp(1.4em, 3.6vw, 2em) !important;
 color: #0f7166;
}
h2.title02 {
 font-size: clamp(1.4em, 2.5vw, 2em) !important;
 /*background-color: #209d86;*/
 color: #00515A;
 padding: 15px;
 /* border-bottom: 3px solid #0f7166 !important;*/
}
h2.title03 {
 font-size: clamp(1.4em, 2.0vw, 1.8em) !important;
 span.sub-title {
  font-size: clamp(.5em, 2.0vw, .7em);
 }
 margin-top: 1.0em;
}
h3.title03 {
 text-align: center;
 font-size: clamp(1.4em, 2.5vw, 2.0em);
 span.sub-title {
  /*font-size: clamp(.5em, 1.40vw, .7em);*/
  font-size: .7em;
 }
 border-bottom: none !important;
}
h3.title04 {
 /*font-size: clamp(1.4em, 2.0vw, 1.5em) !important;
 span.sub-title {
  font-size: 0.6em;
 }*/
 font-size: clamp(1.0em, 2.0vw, 1.2em) !important;
 span.sub-title {
  display: block;
  font-size: clamp(.7em, 0.8vw, 1.0em) !important;
 }
 img {
  max-width: 400px;
  margin: 3px 0;
 }
}
h3.title03 span {
 display: block;
}
h3.title03 img {
 width: 40%;
 margin: 5px auto;
 border: none;
}
h3.title04 {
 span.tokkyo {
  display: inline-block;
  max-width: 90px;
  align-items: baseline;
  position: absolute;
  margin-left: 0.5em;
 }
}
h4 {}
.kakomi-l {
 width: 85%;
 margin: 20px auto;
 padding: 20px;
 background-color: #F6FDF9;
}
.kakomi-l img {
 width: 60%;
 margin: 15px auto;
}
.kakomi-t {
 text-align: center;
 margin: 0px auto;
}
.kakomi-s {
 padding: 10px 15px;
 background-color: #FFFFFF;
}
.kakomi-wh {
 max-width: 1050px;
}
.kakomi-wh .text-content {
 background: #fff;
 padding: 1em;
 border-radius: 10px;
 border: 1px solid #90c6a9;
}
.kakomi-wh .text-content h4 {
 text-align: center;
 border-bottom: 2px solid #95c6aa;
 padding-bottom: .3em;
 font-size: 1.2em;
}
article:has(h5) article.grid-container {
 align-items: flex-start !important;
}
article.kakomi-pt2 {
 background: #fff;
 padding: .8em;
 border: 1px solid #ccc;
 border-radius: 5px;
}
article.kakomi-pt2 h3 {
 font-size: clamp(1.1em, 2.0vw, 1.3em) !important;
 border-bottom: 2px solid #ccc !important;
}
article.kakomi-pt2 h4 {
 font-size: clamp(.9em, 2.0vw, 1.0em) !important;
}
.kakomi-swk {}
.kakomi-swk li {
 margin-top: 0.5em;
}
.kakomi-swk > li > span {
 font-size: 0.9em;
 font-weight: bold;
 display: inline-block;
 padding: 2px 15px;
 color: #FFFFFF;
 border-radius: 20px;
}
.waku {
 border: 1px solid #cccccc;
 padding: 1.0em;
}
.waku > a, .kakomi-swk > a {
 text-decoration: none;
}
.grn {
 background-color: #559072;
}
.vio {
 background-color: #8A5897;
}
.yel {
 background-color: #B2A747;
}
.grn-t {
 color: #1A4D2A;
 border-bottom: solid #53906D !important;
}
.blgrn-t {
 color: #004957;
 border-bottom: solid #0B8896 !important;
}
.brw-t {
 color: #7C6A14;
 border-bottom: solid #B6A94B !important;
}
.vio-t {
 color: #915E9A;
 border-bottom: solid #8A5897 !important;
}
.idg-t {
 color: #535882;
 border-bottom: solid #5F67AE !important;
}
.bo-01b {
 border-radius: 5px;
 font-weight: bold;
 font-size: 1.0em;
 margin: 0px 0;
 float: right;
 text-align: right;
}
.step-txt {
 color: #4f8c9d;
 font-size: 1.2em;
}
.step-t {
 display: inline-block;
 background-color: #4f8c9d;
 color: #FFFFFF;
 padding: 5px 10px;
}
h5 {
 font-size: clamp(1.3em, 1.6vw, 1.5em) !important;
 display: flex;
 align-items: center;
}
article.output > h5.title03 {}
.swk {
 background-color: #EFF7F1;
 padding: 1.0em;
}
article.swk > h5 > span.sub-title {
 background-color: #53906D;
 color: #fff;
 font-size: 0.7em;
 padding: 2px 10px;
 margin: 0 0.5em 0 0;
}
.kansa {
 background-color: #DCEFED;
 padding: 1.0em;
}
article.kansa > h5 > span.sub-title {
 background-color: #0B8896;
 color: #fff;
 font-size: 0.7em;
 padding: 2px 10px;
 margin: 0 0.5em 0 0;
}
.output {
 background-color: #F4F2E5;
 padding: 1.0em;
}
article.output > h5 > span.sub-title {
 background-color: #B6A94B;
 color: #fff;
 font-size: 0.7em;
 padding: 2px 10px;
 margin: 0 0.5em 0 0;
}
.filing {
 background-color: #F1ECF3;
 padding: 1.0em;
}
article.filing > h5 > span.sub-title {
 background-color: #915E9A;
 color: #fff;
 font-size: 0.7em;
 padding: 2px 10px;
 margin: 0 0.5em 0 0;
}
.taxr {
 background-color: #E4E3F2;
 padding: 1.0em;
}
article.taxr > h5 > span.sub-title {
 background-color: #5F67AE;
 color: #fff;
 font-size: 0.7em;
 padding: 2px 10px;
 margin: 0 0.5em 0 0;
}
.l-logo1 {
 padding: 10px 20px;
 width: auto;
 max-height: 60px;
 margin: 0 auto;
}
.l-logo2 {
 padding: 10px 20px;
 width: auto;
 max-height: 50px;
 margin: 0 auto;
}
.ba-60 {
 width: 60%;
 margin: 0 auto;
}
.check-list li {
 display: flex;
 align-items: flex-start;
 gap: 6px;
 line-height: 1.6;
}
.check-list li::before {
 content: "・";
 color: #555;
 font-weight: bold;
 flex-shrink: 0;
}
.break {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 5px;
 font-size: .9em;
}
.break li {
 margin-bottom: 0.5em;
 display: inline-block;
 background: #f4f4f4;
 padding: .5em;
 border-radius: 6px;
 border: 1px solid #e0e0e0;
}
.break > li > span {
 display: block;
 padding: 2px 0 3px;
 color: #FFFFFF;
 border-radius: 5px;
 background-color: #6f9d43;
 text-align: center;
}
.btn-content {
 position: relative;
 width: 100%;
 max-width: 350px;
 margin: 0 auto;
}
.btn-content:hover {}
p.btn-content {
 margin-top: 1.0em;
 margin-bottom: 1.0em;
}
.btn-content a {}
.mrg1 {
 margin: 1.0em 0;
}
#contents article.grid-container.supp01 {
 grid-template-columns: 1fr 40%;
 max-width: 1000px;
 align-items: flex-start;
 img {
  max-width: 500px;
  margin: 0 auto;
 }
}
.img-systemlogo {
 width: 30%;
}
.bnr2 {
 display: flex;
 grid-gap: 2.0em;
 margin: 0px 30px 5px;
}
@media (max-width: 1200px) {}
@media (max-width: 1032px) {
 h3.title03 img {
  width: 60%;
  margin: 5px auto;
  border: none;
 }
}
@media (max-width: 768px) {
 .img-systemlogo {
  width: auto;
  height: 20px;
 }
 .kakomi-l {
  width: 100%;
 }
 #contents article.grid-container.supp01 {
  grid-template-columns: 1fr;
 }
 ul.bnr2 {
  display: block;
  grid-gap: 2.0em;
  margin: 10px auto;
 }
 ul.bnr2 > li > img {
  width: auto;
 }
	h5 {
    flex-direction: column;
    align-items: baseline;
}
}
@media (max-width: 640px) {}