@charset "utf-8";

/* CSSカスタムプロパティ */
:root {
  --nib-green: #198B7C;
  --nib-orange: #F07000;
  --nib-yellow: #FFFAAF;
  --nib-footer-bg: #3A3A3A;
  --nib-gray: #AEAEAE;
  --nib-white: #ffffff;
  --nib-black: #000000;
  --nib-btn: linear-gradient(90deg, #198B7C 40%, #DDFF6E 100%);
  --nib-heading-gradient: linear-gradient(180deg, #DAECEA 16%, #FFFFFF 100%);
  --nib-light-green: #DAECEA;
  --nib-red: #d80001;
  --nib-regional: #274456;
  --nib-regional-light: #DEE3E6;
}



/*
===============================
common
===============================
*/

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 30px;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  color: #000000;
  overflow-x: hidden;
}
body.menu-open {
  position: fixed;
  width: 100%;
  overflow: hidden;
}
p, h1, h2, h3, h4, ul, li {
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: #000;
  touch-action: manipulation;
  user-select: none;
}

li {
  list-style: none;
}

ul {
  padding: 0;
}

p {
  
  line-height: 1.5;
}

.bold {
  font-weight: bold;
}

img {
	width: 100%;
}

button {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* レスポンシブ */
.pc-none {
  display: none;
}
@media screen and (max-width: 1024px) {
  .pc-none {
    display: block;
  }
}
.sp-none {
  display: block;
}
@media screen and (max-width: 1024px) {
  .sp-none {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.br_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .br_sp {
    display: block;
  }
}
.br_pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .br_pc {
    display: none;
  }
}

/* レイアウト */
.inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
#top .inner {
  max-width: 960px;
}
@media screen and (max-width: 1024px) {
    .inner {
      max-width: 100%;
      padding: 45px 25px 60px;
    }
}

/* ボーダー */
.underline {
  border-bottom: 2px solid var(--nib-green);
  padding-bottom: 3px;
}
.brd-b{
	border-bottom: 1px solid #E4E4E4;
}

/* 文字色 */
.c-green {
  color: var(--nib-green);
}
.c-red {
  color: var(--nib-red);
}
.c-black {
  color: var(--nib-black);
}
.c-white {
  color: var(--nib-white);
}
.c-regional {
  color: var(--nib-regional);
}

/* カーニング */
.kerning {
  margin-right: -0.45em;
}
@media (max-width: 1024px) {
  .kerning {
    margin-right: -0.25em;
  }
}

/* テキストグラデーション */
.txt-gradient {
  display: inline-block;
  background: linear-gradient(0deg, #74C175 10%, #198b7c 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}

/* 背景色 */
.bg-gradient {
  background: linear-gradient(360deg, #EBF9F2 60%, #FFFFFF 100%);
}
.bg-program-gradient {
  background: linear-gradient(125deg,rgba(244, 255, 211, 1) 0%, rgba(204, 238, 233, 1) 100%);
}
.bg-green {
  background: var(--nib-green);
}
.bg-lightgreen {
  background: var(--nib-light-green);
}
.bg-heading {
	background: var(--nib-heading-gradient);
}

/* アンカーリンク位置調整 */
[id] {
    scroll-margin-top: 90px;
}

@media (max-width: 1024px) {
    [id] {
        scroll-margin-top: 60px;
    }
}