
:root {
  --main-color: #007a58;
  --sub-color: #00503a;
  --f-red: #dc0c12;
  --f-red2: #ff001e;
  --f-yellow: #fffc00;
}

body {
  background: #f7f7f7;
}
.wrapper{
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  font-family: "Noto Sans JP", system-ui;
  font-weight: 400;
  font-style: normal;
  font-size: min(3.2vw,16px);
  font-feature-settings: "palt";
  line-height: 1.75;
/*  letter-spacing: 0.1em;*/
  color: #333;
  background: #fff;
}


.en{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

 a {
  text-decoration: none;
  color: #333;
  transition: .4s;
}
 a:hover {
  opacity: .8;
}

 img {
  width: 100%;
  vertical-align: bottom; 
}

 .pc-only {
  display: block;
}
 .sp-only {
  display: none;
}

@media (max-width: 750px){
   .pc-only {
      display: none;
    }
   .sp-only {
      display: block!important;
    }
}

.orange {
  color: #fc5926;
}
.orange2 {
  color: #f88561;
}
.orange3 {
  color: #ffe0b4;
}
.yellow {
  color: #e6fc4f;
}
.yellow2 {
  color: #ffd800;
}
.blue {
  color: #59a1c3;
}

.relative{
  position: relative;
}

/*flexbox*/
.flex {
   display: -webkit-box;
   display: flex;
 }
 .flex-sb {
   display: -webkit-box;
   display: flex;
   -webkit-box-pack: justify;
   justify-content: space-between;
   flex-wrap: wrap;
 }
 .flex-fs {
   display: -webkit-box;
   display: flex;
   -webkit-box-pack: start;
   justify-content: flex-start;
  flex-wrap: wrap;
 }
 .flex-fe {
   display: -webkit-box;
   display: flex;
   -webkit-box-pack: end;
   justify-content: flex-end;
 }
 .flex-c {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  flex-wrap: wrap;
}
 .aline-c {
   -webkit-box-align: center;
   align-items: center;
 }


/*****************
 　　header
   *****************/
.header {
  padding: 1%;
}
.header .inner {
  align-items: center;
}
.header .header_logo{
  width: 43.2%;
  
}
.header .tenpomei {
  border: var(--main-color) 2px solid;
  padding: 4px 35px;
  border-radius: 10px;
  color: var(--main-color);
  font-size: min(calc(23/750*100vw),23px);
  margin-left: 10px;
  font-weight: 400;
}



.header_obi {
  background: #ecef00;
  text-align: center;
  font-size: min(calc(21/750*100vw),21px);
  font-weight: bold;
  padding: 3px;
}
.header_obi .red {
  color: #ef3e00;
}

.copy {
  background: var(--main-color);
  text-align: center;
  color: #fff;
  padding: 10px;
  font-size: 10px;
}


.plapoli_h1 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
  line-height: 1;
  
}
.plapoli_h1 .ja {
  font-size: min(calc(28/750*100vw),15px);
  color: #333;
}
.plapoli_h1 .en {
  font-size: min(calc(46/750*100vw),46px);
  color: #f4f4f4;
}
.plapoli_h1.f-w .ja,
.plapoli_h1.f-w .en {
  color: #fff;
}
.plapoli_h1.f-g .en {
  color: var(--main-color);
}
.plapoli_h2 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
  border-top: 1px solid #f4f4f4;
  padding-top: 1em;
  margin-top: 2em;
}
.plapoli_wrapper .txtArea {
  padding: 4%;
  font-size: min(calc(28/750*100vw),14px);
}
.plapoli_wrapper .txtArea p {
  margin-bottom: 1em;
}

/* ────────────────
　番号付きリスト（ol）
──────────────── */
.plapoli_wrapper ol {
  counter-reset: plapoli-counter;
  margin: 1em 0;
  padding-left: 0;
  list-style: none;
}
.plapoli_wrapper ol li {
  position: relative;
  margin: 0.6em 0;
  padding-left: 1.5em;
  line-height: 1.7;
}
.plapoli_wrapper ol li::before {
  counter-increment: plapoli-counter;
  content: counter(plapoli-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 600;
  
  font-size: 1rem;
}

/* ────────────────
　箇条書きリスト（ul）
──────────────── */
.plapoli_wrapper ul {
  margin: 1em 0;
  padding-left: 0;
  list-style: none;
}
.plapoli_wrapper ul li {
  position: relative;
  margin: 0.6em 0;
  padding-left: 1.6em;
  line-height: 1.5;
}
.plapoli_wrapper ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  
  font-size: 1.1rem;
  font-weight: bold;
}

/* ────────────────
　レスポンシブ対応
──────────────── */
@media screen and (max-width: 767px) {
  .plapoli_wrapper ol li,
  .plapoli_wrapper ul li {
    padding-left: 1.4em;
  }
  .plapoli_wrapper ol li::before,
  .plapoli_wrapper ul li::before {
    font-size: 0.95rem;
  }
}
