body, h1, h2, h3, h4, h5, h6, p { margin: 0; padding: 0;}
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box;}
body {
  background: #fff;
  color: #000;
  font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
div {
  margin: 0;
  padding: 0;
}
img {
  width: auto;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  border-style: none;
}

.mb0 { margin-bottom: 0px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}

.mt0 { margin-top: 0px !important;}
.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}

.text-center { text-align: center !important;}
.text-left { text-align: left !important;}
.text-right { text-align: right !important;}
.note { padding-left: 1em;}

.pc-only { display: block !important;}
.sp-only { display: none !important;}
button { cursor: pointer;}

.text-blu { color: #005bac;}

body {
  display: block;
  width: 100%;
  margin: 0 auto;
  max-width: 980px;
  position: relative;
  font-family: 'M PLUS 2', sans-serif;
}

/* header */
main {
  display: block;
  max-width: 980px;
  margin: 0px auto 0px;
}
.kv {
  position: relative;
  margin-bottom: 115px;
}
.header {
  position: absolute;
  width: 100%;
  max-width: 980px;
  background: rgba(255,255,255,0.5);
  z-index: 100;
  margin: 0 auto;
  top: 0;
}
.header .header_wrap {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100px;
  padding: 0 0px 0;
}
.header .header_wrap .h1_logo {
  margin-left: 47px;
}
.sns {
  position: absolute;
  bottom: 0;
  right: 40px;
}
.sns ul {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0px 0;
}
.sns ul li {
  margin: 0 0 0 30px;
}
.sns ul li:first-child {
  margin: 0 0 0 0px;
}
.sns ul li:nth-child(2) {
  margin: 0 0 0 13px;
}

.section01 {
  width: 92%;
  padding: 0 0px 0px;
  margin: 0 auto 35px;
}
.section01 h2 {
  position: relative;
  text-align: center;
  padding: 74px 0 0;
  margin: 0 auto 45px;
  font-size: 50px;
  line-height: 64px;
  font-weight: 800;
}
.section01 h2::before {
  display: block;
  position: absolute;
  content: "";
  width: 190px;
  height: 53px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_reason.png) no-repeat;
  background-size: 100% 100%;
}
.section01 p.txt01 {
  text-align: left;
  padding: 0px 0 0;
  margin: 0 0 30px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section01 .img01 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 70px;
}
.section01 .img01 img {
  width: auto;
  max-width: 100%;
}

.section02 {
  width: 92%;
  padding: 0 0px 0px;
  margin: 0 auto 160px;
}
.section02 h3 {
  position: relative;
  text-align: center;
  padding: 40px 0 0;
  margin: 0 auto 45px;
  font-size: 50px;
  line-height: 64px;
  font-weight: 800;
}
.section02 h3::before {
  display: block;
  position: absolute;
  content: "";
  width: 83px;
  height: 25px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_h3.png) no-repeat;
  background-size: 100% 100%;
}
.section02 .img01 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 35px;
}
.section02 .img01 img {
  width: auto;
  max-width: 100%;
}
.section02 p.txt01 {
  text-align: left;
  padding: 0px 0 0;
  margin: 0 0 40px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section02 a {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 610px;
}

.section03 {
  width: 92%;
  padding: 0 0px 0px;
  margin: 0 auto 170px;
}
.section03 h2 {
  position: relative;
  text-align: center;
  padding: 74px 0 0;
  margin: 0 auto 45px;
  font-size: 50px;
  line-height: 64px;
  font-weight: 800;
}
.section03 h2::before {
  display: block;
  position: absolute;
  content: "";
  width: 266px;
  height: 57px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_golf.png) no-repeat;
  background-size: 100% 100%;
}
.section03 p.txt01 {
  text-align: left;
  padding: 0px 0 0;
  margin: 0 0 50px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section03 .img01 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 30px;
}
.section03 .img02 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 20px;
}
.section03 .img01 img,
.section03 .img02 img {
  width: auto;
  max-width: 100%;
}
.section03 .cell {
  display: flex;
  justify-content: space-between;
  margin-bottom: 35px;
}
.section03 .cell .img03 {
  width: 49.5%;
}
.section03 .cell .img03 img {
  width: auto;
  max-width: 100%;
}
.section03 .cell .img03 p {
  text-align: center;
  margin: 30px auto 0;
  font-size: 30px;
}
.section03 a {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 610px;
}

.section04 {
  width: 92%;
  padding: 0 0px 0px;
  margin: 0 auto 160px;
}
.section04 h2 {
  position: relative;
  text-align: center;
  padding: 74px 0 0;
  margin: 0 auto 45px;
  font-size: 50px;
  line-height: 64px;
  font-weight: 800;
}
.section04 h2::before {
  display: block;
  position: absolute;
  content: "";
  width: 190px;
  height: 52px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_merit.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .merit_cell {
  border: 8px solid #674630;
  border-radius: 15px;
  background: #674630;
  margin-bottom: 80px;
}
.section04 .merit_cell ul {
  border: 2px solid #835f46;
  background: #674630;
  border-radius: 10px;
  padding: 0 0px;
}
.section04 .merit_cell ul li {
  position: relative;
  padding: 15px 30px 15px 70px;
  border-bottom: 1px solid #835f46;
  font-size: 32px;
  color: #fff;
}
.section04 .merit_cell ul li a {
  color: #fff;
  text-decoration: none;
}
.section04 .merit_cell ul li:last-child {
  border-bottom: none;
}
.section04 .merit_cell ul li .num {
  position: absolute;
  left: 30px;
  top: 16px;
  font-size: 40px;
  font-weight: bold;
  font-family: 'Josefin Sans', sans-serif;
}
.section04 .merit_cell ul li:nth-child(1) .num {
  color: #ee5353;
}
.section04 .merit_cell ul li:nth-child(2) .num {
  color: #ffae00;
}
.section04 .merit_cell ul li:nth-child(3) .num {
  color: #34b11f;
}
.section04 .merit_cell ul li:nth-child(4) .num {
  color: #3fa2c2;
}
.section04 .merit_cell ul li:nth-child(5) .num {
  color: #af7dd9;
}
.section04 .merit_cell ul li .line {
  font-weight: bold;
}
.section04 .merit_cell ul li:nth-child(1) .line {
  background: linear-gradient(transparent 75%, #ee5353 75%);
}
.section04 .merit_cell ul li:nth-child(2) .line {
  background: linear-gradient(transparent 75%, #ffae00 75%);
}
.section04 .merit_cell ul li:nth-child(3) .line {
  background: linear-gradient(transparent 75%, #34b11f 75%);
}
.section04 .merit_cell ul li:nth-child(4) .line {
  background: linear-gradient(transparent 75%, #3fa2c2 75%);
}
.section04 .merit_cell ul li:nth-child(5) .line {
  background: linear-gradient(transparent 75%, #af7dd9 75%);
}
.section04 .box {
  margin: 0 0 80px;
}
.section04 .box h3 {
  position: relative;
  padding: 30px 10px 35px 110px;
  background: #f8f1ec;
  font-size: 38px;
  font-weight: 400;
  color: #000;
  margin: 0 0 30px;
}
.section04 .box h3::before {
  display: block;
  position: absolute;
  content: "";
  width: 58px;
  height: 80px;
  top: -20px;
  left: 16px;
}
.section04 .box.box01 h3::before {
  background: url(../images/num_01.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .box.box02 h3::before {
  background: url(../images/num_02.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .box.box03 h3::before {
  background: url(../images/num_03.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .box.box04 h3::before {
  background: url(../images/num_04.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .box.box05 h3::before {
  background: url(../images/num_05.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .box h3 .line {
  font-weight: bold;
}
.section04 .box.box01 h3 .line {
  background: linear-gradient(transparent 75%, #ee5353 75%);
}
.section04 .box.box02 h3 .line {
  background: linear-gradient(transparent 75%, #ffae00 75%);
}
.section04 .box.box03 h3 .line {
  background: linear-gradient(transparent 75%, #34b11f 75%);
}
.section04 .box.box04 h3 .line {
  background: linear-gradient(transparent 75%, #3fa2c2 75%);
}
.section04 .box.box05 h3 .line {
  background: linear-gradient(transparent 75%, #af7dd9 75%);
}
.section04 .box .img01 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 0px;
}
.section04 .img01 img,
.section04 .img02 img {
  width: auto;
  max-width: 100%;
}
.section04 .img02 {
  display: block;
  text-align: center;
  padding: 0px 0 0;
  margin: 0 auto 20px;
}
.section04 p.txt01 {
  text-align: left;
  padding: 0px 0 0;
  margin: 30px 0 30px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section04 p.txt01 a {
  color: #1e71d8;
  text-decoration: none;
}
.section04 p.txt02 {
  text-align: center;
  padding: 0px 0 0;
  margin: 20px 0 45px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section04 h4 {
  position: relative;
  text-align: center;
  padding: 50px 0 0;
  margin: 0 auto 30px;
  font-size: 32px;
  line-height: 38px;
  font-weight: 700;
}
.section04 h4 span {
  font-weight: 400;
  font-size: 26px;
}
.section04 h4::before {
  display: block;
  position: absolute;
  content: "";
  width: 78px;
  height: 40px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_light.png) no-repeat;
  background-size: 100% 100%;
}
.section04 .s_box {
  margin: 0 0 30px;
}
.section04 .box .s_box:last-of-type {
  margin: 0 0 0px;
}
.section04 a.btn {
  display: block;
  margin: 60px auto 0;
  text-align: center;
  width: 610px;
}

.section05 {
  width: 92%;
  padding: 0 0px 0px;
  margin: 0 auto 160px;
}
.section05 h2 {
  position: relative;
  text-align: center;
  padding: 74px 0 0;
  margin: 0 auto 45px;
  font-size: 50px;
  line-height: 64px;
  font-weight: 800;
}
.section05 h2::before {
  display: block;
  position: absolute;
  content: "";
  width: 266px;
  height: 57px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: url(../images/icon_course.png) no-repeat;
  background-size: 100% 100%;
}
.section05 p.txt01 {
  text-align: left;
  padding: 0px 0 0;
  margin: 0px 0 80px;
  font-size: 30px;
  line-height: 50px;
  font-weight: 400;
}
.section05 .cell {
  position: relative;
  border: 4px solid #dbc9bc;
  border-radius: 15px;
  padding: 0px 12% 50px;
  margin: 0 auto 110px;
}
.section05 .cell h3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 580px;
  height: 80px;
  margin: -40px auto 45px;
  padding: 0 0 0 20px;
  background: #674630;
  font-size: 34px;
  line-height: 1;
  color: #fff;
  font-weight: bold;
  border-radius: 40px;
}
.section05 .cell h3 span {
  color: #ffe400;
}
.section05 .cell h3::before {
  position: absolute;
  display: block;
  content: "";
  width: 60px;
  height: 60px;
  top: 50%;
  left: 11px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.section05 .cell:nth-of-type(1) h3::before {
  background: url(../images/icon_h3_01.png) no-repeat;
  background-size: 100% 100%;
}
.section05 .cell:nth-of-type(2) h3::before {
  background: url(../images/icon_h3_02.png) no-repeat;
  background-size: 100% 100%;
}
.section05 .cell:nth-of-type(3) h3::before {
  background: url(../images/icon_h3_03.png) no-repeat;
  background-size: 100% 100%;
}
.section05 .cell ul {
  font-size: 30px;
}
.section05 .cell ul li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 1.2em;
}
.section05 .cell ul li::before {
  position: absolute;
  display: block;
  content: "・";
  top: 0;
  left: 0;
}
.section05 .cell ul li:last-child {
  margin-bottom: 0px;
}

.contact {
  position: relative;
  width: 100%;
}
.contact a.btn {
  position: absolute;
  display: block;
  bottom: 15.8%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 610px;
}

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

  body {
    margin: 0 auto;
    max-width: 980px;
  }

  /* header */
  main {
    margin: 0px auto 0px;
  }
  .kv {
    margin-bottom: 60px;
  }
  .header {
    margin: 0 auto;
    top: 0;
    border-bottom: 1px solid rgba(0,0,0,0.15);
  }
  .header .header_wrap {
    height: 50px;
    padding: 0 0px 0;
  }
  .header .header_wrap .h1_logo {
    margin-left: 10px;
    width: 130px;
  }
  .sns {
    position: absolute;
    bottom: 0;
    right: 15px;
  }
  .sns ul {
    margin: 0px 0;
  }
  .sns ul li {
    margin: 0 0 0 10px;
    width: 30px;
  }
  .sns ul li:first-child {
    margin: 0 0 0 0px;
    width: 70px;
  }
  .sns ul li:nth-child(2) {
    margin: 0 0 0 7px;
  }

  .section01 {
    width: 92%;
    padding: 0 0px 0px;
    margin: 0 auto 35px;
  }
  .section01 h2 {
    padding: 36px 0 0;
    margin: 0 auto 24px;
    font-size: 23px;
    line-height: 29px;
  }
  .section01 h2::before {
    width: 95px;
    height: 27px;
    background: url(../images/icon_reason.png) no-repeat;
    background-size: 100% 100%;
  }
  .section01 p.txt01 {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 23px;
  }
  .section01 .img01 {
    margin: 0 auto 30px;
  }

  .section02 {
    width: 92%;
    margin: 0 auto 95px;
  }
  .section02 h3 {
    padding: 20px 0 0;
    margin: 0 auto 20px;
    font-size: 23px;
    line-height: 30px;
  }
  .section02 h3::before {
    width: 42px;
    height: 13px;
    background: url(../images/icon_h3.png) no-repeat;
    background-size: 100% 100%;
  }
  .section02 .img01 {
    margin: 0 auto 23px;
  }
  .section02 p.txt01 {
    margin: 0 0 30px;
    font-size: 13px;
    line-height: 23px;
  }
  .section02 a {
    width: 88%;
    max-width: 610px;
  }

  .section03 {
    width: 92%;
    margin: 0 auto 90px;
  }
  .section03 h2 {
    padding: 37px 0 0;
    margin: 0 auto 25px;
    font-size: 23px;
    line-height: 29px;
  }
  .section03 h2::before {
    width: 133px;
    height: 29px;
    background: url(../images/icon_golf.png) no-repeat;
    background-size: 100% 100%;
  }
  .section03 p.txt01 {
    margin: 0 0 40px;
    font-size: 13px;
    line-height: 23px;
  }
  .section03 .img01 {
    padding: 0px 0 0;
    margin: 0 auto 20px;
  }
  .section03 .img02 {
    display: block;
    text-align: center;
    padding: 0px 0 0;
    margin: 0 auto 10px;
  }
  .section03 .cell {
    margin-bottom: 25px;
  }
  .section03 .cell .img03 p {
    margin: 15px auto 0;
    font-size: 12px;
  }
  .section03 a {
    width: 88%;
    max-width: 610px;
  }

  .section04 {
    width: 92%;
    margin: 0 auto 100px;
  }
  .section04 h2 {
    padding: 36px 0 0;
    margin: 0 auto 25px;
    font-size: 23px;
    line-height: 29px;
  }
  .section04 h2::before {
    width: 95px;
    height: 26px;
    background: url(../images/icon_merit.png) no-repeat;
    background-size: 100% 100%;
  }
  .section04 .merit_cell {
    border: 6px solid #674630;
    border-radius: 15px;
    margin-bottom: 40px;
  }
  .section04 .merit_cell ul {
    border: 2px solid #835f46;
    border-radius: 10px;
    padding: 0 0px;
  }
  .section04 .merit_cell ul li {
    position: relative;
    padding: 10px 30px 10px 34px;
    border-bottom: 1px solid #835f46;
    font-size: 14px;
    line-height: 17px;
  }
  .section04 .merit_cell ul li .num {
    left: 15px;
    top: 12px;
    font-size: 20px;
  }
  .section04 .box {
    margin: 0 0 40px;
  }
  .section04 .box h3 {
    padding: 15px 10px 15px 52px;
    font-size: 17px;
    line-height: 23px;
    margin: 0 0 15px;
    font-weight: 400;
  }
  .section04 .box h3::before {
    width: 29px;
    height: 40px;
    top: -10px;
    left: 6px;
  }
  .section04 .box .img01 {
    padding: 0px 0 0;
    margin: 0 auto 0px;
  }
  .section04 .img02 {
    padding: 0px 0 0;
    margin: 0 auto 10px;
  }
  .section04 p.txt01 {
    padding: 0px 0 0;
    margin: 16px 0 20px;
    font-size: 13px;
    line-height: 23px;
  }
  .section04 p.txt02 {
    margin: 12px 0 25px;
    font-size: 12px;
    line-height: 23px;
  }
  .section04 h4 {
    padding: 30px 0 0;
    margin: 0 auto 20px;
    font-size: 15px;
    line-height: 20px;
  }
  .section04 h4 span {
    font-size: 11px;
  }
  .section04 h4::before {
    width: 39px;
    height: 20px;
    background: url(../images/icon_light.png) no-repeat;
    background-size: 100% 100%;
  }
  .section04 .s_box {
    margin: 0 0 30px;
  }
  .section04 .box .s_box:last-of-type {
    margin: 0 0 0px;
  }
  .section04 a.btn {
    margin: 30px auto 0;
    width: 88%;
    max-width: 610px;
  }

  .section05 {
    width: 92%;
    margin: 0 auto 15px;
  }
  .section05 h2 {
    padding: 36px 0 0;
    margin: 0 auto 25px;
    font-size: 23px;
    line-height: 29px;
  }
  .section05 h2::before {
    width: 133px;
    height: 29px;
    background: url(../images/icon_course.png) no-repeat;
    background-size: 100% 100%;
  }
  .section05 p.txt01 {
    margin: 0px 0 45px;
    font-size: 13px;
    line-height: 23px;
  }
  .section05 .cell {
    border: 2px solid #dbc9bc;
    border-radius: 15px;
    padding: 0px 20px 20px;
    margin: 0 auto 45px;
  }
  .section05 .cell:last-of-type {
    margin: 0 auto 0px;
  }
  .section05 .cell h3 {
    width: 270px;
    height: 40px;
    margin: -20px auto 18px;
    padding: 0 0 0 20px;
    font-size: 15px;
    border-radius: 20px;
  }
  .section05 .cell h3::before {
    width: 30px;
    height: 30px;
    top: 50%;
    left: 5px;
  }
  .section05 .cell ul {
    font-size: 13px;
  }
  .section05 .cell ul li {
    margin-bottom: 10px;
    padding-left: 1.2em;
    line-height: 20px;
  }
  .section05 .cell ul li::before {
    position: absolute;
    display: block;
    content: "・";
    top: 0;
    left: 0;
  }
  .section05 .cell ul li:last-child {
    margin-bottom: 0px;
  }

  .contact a.btn {
    display: block;
    bottom: 16.8%;
    left: 50%;
    width: 82%;
    max-width: 610px;
  }
}
@media (min-width: 769px) {
  .contact a.btn:hover,
  a.btn:hover {
    opacity: 0.7;
  }
}

.link_blank {
  margin-right: 5px;
  padding-right: 25px;
  background: url(../images/icon_blank.png) right center no-repeat;
  background-size: 20px 20px;
}
