@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
/* -----------------------------
value original
------------------------------*/
body {
  min-width: auto !important;
}

#EditArea h1, #EditArea h2, #EditArea h3, #EditArea h4, #EditArea h5, #EditArea h6, #EditArea p, #EditArea address, #EditArea ul, #EditArea ol, #EditArea li, #EditArea dl, #EditArea dt, #EditArea dd, #EditArea table, #EditArea caption, #EditArea th, #EditArea td, #EditArea img, #EditArea form, #EditArea figure {
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  margin: 0;
}
#EditArea * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#EditArea p {
  font-weight: 500;
  color: #393939;
}
#EditArea img {
  max-width: 100%;
}

/*------------------------------
module　basic
------------------------------*/
#EditArea .clearFix:after {
  content: "";
  display: block;
  clear: both;
}
#EditArea .clearFix {
  zoom: 1;
}
#EditArea .textL {
  text-align: left !important;
}
#EditArea .textC {
  text-align: center !important;
}
#EditArea .textR {
  text-align: right !important;
}
@media only screen and (max-width: 768px) {
  #EditArea .sp-textL {
    text-align: left !important;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea .sp-textC {
    text-align: center !important;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea .sp-textR {
    text-align: right !important;
  }
}
#EditArea .ps_ab {
  position: absolute;
}
#EditArea .flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#EditArea .body_inner {
  position: relative;
  overflow: hidden;
}

/* -----------------------------
common style
------------------------------*/
#EditArea img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #EditArea img {
    width: 100%;
    height: auto;
  }
}
#EditArea sup {
  font-size: 60%;
  font-weight: inherit;
  vertical-align: super;
}
#EditArea em {
  font-weight: bold;
}
#EditArea .sp {
  display: none;
}
#EditArea .pc {
  display: block;
}
#EditArea .sp-inline {
  display: none !important;
}
#EditArea .pc-inline {
  display: inline-block !important;
}
#EditArea ul.inline li {
  display: inline-block;
  vertical-align: top;
}
@media only screen and (max-width: 768px) {
  #EditArea .pc {
    display: none !important;
  }
  #EditArea .sp {
    display: block !important;
  }
  #EditArea .sp-inline {
    display: inline-block !important;
  }
  #EditArea .pc-inline {
    display: none !important;
  }
  #EditArea body {
    min-width: 100%;
    width: 100%;
  }
}

/* -----------------------------
 commonのリセット分
------------------------------*/
#Container {
  width: 100%;
}

.WrapTop {
  margin: 0 auto;
  max-width: 980px;
  width: 100%;
}

body {
  margin: 0;
}
@media only screen and (max-width: 768px) {
  body {
    min-width: auto;
  }
}

#EditArea {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  overflow-x: hidden;
  background-image: url(../img/pattern03.png);
  background-repeat: repeat;
}
@media only screen and (max-width: 768px) {
  #EditArea {
    min-width: auto;
  }
}
#EditArea a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}
#EditArea a:hover {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  opacity: 0.6;
}
@media only screen and (max-width: 768px) {
  #EditArea a:hover {
    opacity: 1;
  }
}
#EditArea a img {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
#EditArea a img:hover {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
#EditArea img {
  width: 100%;
}
#EditArea .inner {
  max-width: min(110.204vw, 1080px);
  padding: 0 min(5.102vw, 50px);
  margin: auto;
}
@media only screen and (max-width: 768px) {
  #EditArea .inner {
    width: 100%;
    padding: 0 5.333vw;
  }
}
#EditArea #kv {
  background-color: #71cdf1;
  background-image: url(../img/kv.png);
  background-position: center;
  background-repeat: no-repeat;
  height: min(61.224vw, 600px);
  position: relative;
}
@media only screen and (max-width: 768px) {
  #EditArea #kv {
    background-image: url(../img/sp/kv.png);
    height: 93.333vw;
    background-size: contain;
  }
}
#EditArea #kv h1 {
  display: block;
  width: min(96.939vw, 950px);
  position: absolute;
  top: 44%;
  left: 51%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  #EditArea #kv h1 {
    width: 93.067vw;
    left: 50%;
    top: 37%;
  }
}
#EditArea #nav {
  background-image: url(../img/pattern01.png);
  background-repeat: repeat;
  background-size: min(20.408vw, 200px) min(10.204vw, 100px);
  max-width: 100%;
  padding: 0 min(3.061vw, 30px);
}
@media only screen and (max-width: 768px) {
  #EditArea #nav {
    background-image: url(../img/sp/pattern.png);
    background-size: 26.667vw 13.333vw;
    padding: 0 5.333vw;
  }
}
#EditArea #nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  padding: min(2.857vw, 28px) 0;
}
@media only screen and (max-width: 768px) {
  #EditArea #nav ul {
    padding: 3.733vw 0;
  }
}
#EditArea #nav ul li a {
  text-decoration: none;
  color: #fefff9;
  font-weight: bold;
  font-size: min(2.857vw, 28px);
  position: relative;
}
@media only screen and (max-width: 768px) {
  #EditArea #nav ul li a {
    padding-left: 3.067vw;
    font-size: 3.467vw;
    text-align: center;
    line-height: 1.4;
    display: block;
  }
}
#EditArea #nav ul li a::before {
  content: "";
  width: min(1.224vw, 12px);
  height: min(0.918vw, 9px);
  background-image: url(../img/arrow01.png);
  background-size: cover;
  position: absolute;
  top: 55%;
  left: max(-2.245vw, -22px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  #EditArea #nav ul li a::before {
    width: 1.733vw;
    height: 1.2vw;
    left: 0vw;
  }
}
#EditArea #nav ul li:nth-of-type(2) {
  margin: 0 min(9.184vw, 90px);
}
@media only screen and (max-width: 768px) {
  #EditArea #nav ul li:nth-of-type(2) {
    margin: 0 6.667vw;
  }
}
#EditArea .bg {
  width: 100%;
  /* 背景画像を設定 */
  background-image: url(../img/pattern04.png);
  background-repeat: no-repeat;
  background-position: center top; /* または center bottom */
  background-size: 100% min(13.265vw, 130px);
  padding-top: min(13.265vw, 130px);
}
@media only screen and (max-width: 768px) {
  #EditArea .bg {
    background-image: url(../img/sp/bg.png);
    background-size: 100% auto; /* 横幅100%、高さは自動調整 */
    padding-top: 20vw;
    width: 100%;
    padding-bottom: 14.667vw;
    position: relative;
  }
  #EditArea .bg::before {
    content: "";
    background-image: url(../img/sp/shita.png);
    background-size: cover;
    width: 100%;
    height: 16.533vw;
    position: absolute;
    bottom: 0;
  }
}
#EditArea .bg .bg02 {
  background-position: top;
  background-position-x: min(13.265vw, 130px);
  background-image: url(../img/pattern02.png);
  background-repeat: repeat;
  background-size: min(10.204vw, 100px) min(10.204vw, 100px);
  padding-bottom: min(16.327vw, 160px);
  position: relative;
}
@media only screen and (max-width: 768px) {
  #EditArea .bg .bg02 {
    background-image: none;
    padding-bottom: 0;
  }
}
#EditArea .bg .bg02::before {
  content: "";
  background-image: url(../img/pattern05.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% min(16.327vw, 160px);
  height: min(16.327vw, 160px);
  width: 100%;
  position: absolute;
  bottom: 0;
}
@media only screen and (max-width: 768px) {
  #EditArea .bg .bg02::before {
    content: none;
  }
}
#EditArea .bg .inner {
  max-width: min(146.939vw, 1440px);
  margin: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
#EditArea #sec01 {
  margin-top: min(5.102vw, 50px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec01 {
    margin-top: 6.667vw;
  }
}
#EditArea #sec01 .inner {
  max-width: min(100vw, 980px);
  padding: 0 min(5.102vw, 50px);
  margin: auto;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec01 .inner {
    width: 100%;
    padding: 0 3.333vw;
  }
}
#EditArea #sec01 h2 {
  margin-bottom: min(2.041vw, 20px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec01 h2 {
    margin-bottom: 2.667vw;
  }
}
#EditArea #sec01 .text {
  font-size: min(2.653vw, 26px);
  font-weight: bold;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec01 .text {
    font-size: 4.267vw;
    margin-top: -9.333vw;
  }
}
#EditArea #sec01 .text span {
  padding: min(0.408vw, 4px);
  color: #1170b0;
  background-color: #fef6b8;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec01 .text span {
    padding: 0.533vw;
  }
}
#EditArea #sec02 {
  margin-bottom: min(5.612vw, 55px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec02 {
    margin-bottom: 7.333vw;
  }
}
#EditArea #sec02 .inner {
  max-width: min(110.204vw, 1080px);
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec02 .inner {
    padding: 0 !important;
  }
}
#EditArea #sec02 h2[data-aos] {
  width: 100%;
}
#EditArea #sec02 h2[data-aos] picture {
  display: block;
  width: 100%;
}
#EditArea #sec02 h2[data-aos] img {
  display: block;
  width: 1060px;
  max-width: none;
  height: auto;
}
@media screen and (max-width: 1070px) {
  #EditArea #sec02 .inner {
    width: 100%;
    padding: 0 min(5.102vw, 50px);
  }
  #EditArea #sec02 h2[data-aos] img {
    width: 92.667vw;
    max-width: 100%;
  }
}
#EditArea #sec03 h2 {
  width: min(55vw, 539px);
  margin: auto;
  margin-bottom: min(3.571vw, 35px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 h2 {
    width: 100%;
    margin-bottom: 2.667vw;
  }
}
#EditArea #sec03 .box {
  background-color: #ffffff;
  background-image: -webkit-linear-gradient(left, #f5fafc 1px, transparent 1px), -webkit-linear-gradient(top, #f5fafc 1px, transparent 1px);
  background-image: linear-gradient(to right, #f5fafc 1px, transparent 1px), linear-gradient(to bottom, #f5fafc 1px, transparent 1px);
  background-size: min(1.224vw, 12px) min(1.224vw, 12px);
  width: min(100vw, 980px);
  padding: min(5.102vw, 50px);
  border: solid #1170b0 1px;
  border-radius: min(1.633vw, 16px);
  margin: auto;
  margin-bottom: min(8.163vw, 80px);
}
@media screen and (max-width: 1070px) {
  #EditArea #sec03 .box {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box {
    background-size: 1.6vw 1.6vw;
    padding: 5.333vw;
    border-radius: 2.133vw;
    margin-bottom: 13.333vw;
  }
}
#EditArea #sec03 .box .flex {
  margin-bottom: min(3.061vw, 30px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex {
    margin-bottom: 10.667vw;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
#EditArea #sec03 .box .flex .img {
  width: min(43.061vw, 422px);
}
@media screen and (max-width: 1070px) {
  #EditArea #sec03 .box .flex .img {
    width: 48%;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .img {
    width: 100%;
    margin-bottom: 2.667vw;
  }
}
#EditArea #sec03 .box .flex .info {
  width: min(42.449vw, 416px);
}
@media screen and (max-width: 1070px) {
  #EditArea #sec03 .box .flex .info {
    width: 48%;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .info {
    width: 100%;
  }
}
#EditArea #sec03 .box .flex .info h3 {
  margin-bottom: min(1.531vw, 15px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .info h3 {
    margin-bottom: 2vw;
  }
}
#EditArea #sec03 .box .flex .info .text {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: min(1.837vw, 18px);
  width: min(41.327vw, 405px);
  line-height: 1.8;
  margin-bottom: min(1.837vw, 18px);
  text-align: justify;
}
@media screen and (max-width: 1070px) {
  #EditArea #sec03 .box .flex .info .text {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .info .text {
    font-size: 3.467vw;
    width: 100%;
    margin-bottom: 2.4vw;
  }
}
#EditArea #sec03 .box .flex .info .link {
  font-size: min(2.245vw, 22px);
  color: #fefff9;
  padding: min(1.327vw, 13px) min(6.327vw, 62px) min(1.531vw, 15px) min(4.592vw, 45px);
  border-radius: min(5.102vw, 50px);
  font-weight: bold;
  display: inline-block;
  background-image: url(../img/pattern01.png);
  background-repeat: repeat;
  background-size: min(10.204vw, 100px) min(5.102vw, 50px);
  position: relative;
  border: solid 1px #1170b0;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .info .link {
    width: 68vw;
    padding: 2.667vw 0;
    text-align: center;
    margin: auto;
    display: block;
    font-size: 5.067vw;
    border-radius: 6.4vw;
    background-size: 13.333vw 6.667vw;
  }
  #EditArea #sec03 .box .flex .info .link:hover {
    background-image: url(../img/pattern01.png) !important;
    border: solid 1px #1170b0 !important;
    color: #fefff9 !important;
  }
  #EditArea #sec03 .box .flex .info .link:hover::before {
    background-image: url(../img/arrow02.png) !important;
  }
}
#EditArea #sec03 .box .flex .info .link::before {
  content: "";
  width: min(0.918vw, 9px);
  height: min(1.224vw, 12px);
  background-image: url(../img/arrow02.png);
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .flex .info .link::before {
    background-image: url(../img/sp/arrow02.png);
    width: 1.733vw;
    height: 2.8vw;
  }
}
#EditArea #sec03 .box .flex .info .link:hover {
  background-color: #fff;
  background-image: none;
  color: #1170b0;
  border: solid 1px #1170b0;
}
#EditArea #sec03 .box .flex .info .link:hover::before {
  background-image: url(../img/arrow03.png);
}
#EditArea #sec03 .box .note {
  padding: min(3.571vw, 35px) min(5.102vw, 50px) min(4.082vw, 40px);
  background-color: #f1f7f8;
  border-radius: min(1.633vw, 16px);
  margin-top: min(5.714vw, 56px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .note {
    padding: 8vw 5.333vw 5.333vw;
    border-radius: 2.133vw;
  }
}
#EditArea #sec03 .box .note h3 {
  margin-bottom: min(2.041vw, 20px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .note h3 {
    margin-bottom: 2.667vw;
  }
}
#EditArea #sec03 .box .note ul {
  padding-left: 0;
  margin-bottom: min(3.061vw, 30px);
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .note ul {
    margin-bottom: 4vw;
  }
}
#EditArea #sec03 .box .note ul:last-of-type {
  margin-bottom: 0;
}
#EditArea #sec03 .box .note ul li {
  list-style: none;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-size: min(2.041vw, 20px);
  padding-left: 0.6em;
  text-indent: -0.6em;
  line-height: 1.8;
  margin-bottom: min(0.51vw, 5px);
  text-align: justify;
}
@media only screen and (max-width: 768px) {
  #EditArea #sec03 .box .note ul li {
    font-size: 3.6vw;
    margin-bottom: 0.667vw;
  }
}
#EditArea #sec03 .box .note ul li:last-of-type {
  margin-bottom: 0;
}
#EditArea .pagetop {
  display: block;
  width: min(20.408vw, 200px);
  margin: auto;
}
@media only screen and (max-width: 768px) {
  #EditArea .pagetop {
    width: 26.667vw;
  }
}