@charset "UTF-8";
.font-gothic {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", "Yu Gothic", YuGothic, "Segoe UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.font-mincho {
  font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "游明朝体", "Yu Mincho", YuMincho, "游明朝", Georgia, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.cf {
  zoom: 1;
}
.cf:before {
  content: "";
  display: block;
  overflow: hidden;
}
.cf:after {
  content: "";
  display: block;
  overflow: hidden;
  clear: both;
}

.hide-pc {
  display: none;
}
@media screen and (max-width: 767px) {
  .hide-pc {
    display: initial;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .hide-pc {
    display: initial;
  }
}

@media screen and (min-width: 768px) and (max-width: 1040px) {
  .hide-tab {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .hide-tab {
    display: initial;
  }
}

.hide-sp {
  display: initial;
}
@media screen and (max-width: 767px) {
  .hide-sp {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .hide-sp {
    display: initial;
  }
}

@media screen and (min-width: 768px) and (max-width: 1040px) {
  .hide-tab {
    display: none;
  }
}

@media (max-width: 767px) {
  .hide-sp {
    display: none;
  }
}
.flex_list:not(:last-chid) {
  margin-bottom: 10px;
}

*:focus {
  outline: none;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

html {
  font-size: 6.25%;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", "Yu Gothic", YuGothic, "Segoe UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.4;
  color: #333;
  font-size: 15rem;
  margin: 0;
}

img {
  width: auto;
  max-width: 100%;
}

ul, li {
  list-style: none;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
  padding: 0;
}

p, b {
  text-align: inherit;
  line-height: 2;
}

b {
  font-weight: normal;
  color: #e7d038;
  margin: 20px auto;
  display: block;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 16rem;
  line-height: 1.6;
}

span {
  font-size: 13rem;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
}

h1 {
  font-size: 36rem;
  color: #e7d038;
}

h2 {
  font-size: 3rem;
  color: #e7d038;
  font-weight: bold;
}

h3 {
  font-size: 26rem;
  color: #e7d038;
}

.mb_30 {
  margin-bottom: 30px;
}

.bg_main {
  background: #e7d038;
}

.bg_sub {
  background: #efefef;
}

.font_main {
  color: #333;
}

.font_sub {
  color: #595959;
}

td {
  text-align: center;
}

.t_center {
  text-align: center;
}

.t_right {
  text-align: right;
}

.mv {
  background: url("../images/top/mv_img.jpg") no-repeat center/cover;
  height: 800px;
  position: relative;
}
.mv.mv_under {
  background: url("../images/top/mv_img.jpg") no-repeat center/cover;
  height: 500px;
}
.mv .mv__title {
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.page__title {
  font-size: 40rem;
}

.section__title {
  font-size: 30rem;
  font-weight: 300;
  color: #333;
  margin-bottom: 50px;
  text-align: center;
}

.section__subtitle {
  font-size: 26rem;
  font-weight: 300;
  color: #595959;
}

.section__read {
  font-size: 14rem;
}

.title_b {
  margin-bottom: 30px;
}

.text_rl {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}

.section {
  padding: 80px 0;
  border-bottom: 2px solid #47c08e;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 20px 0 40px;
  }
}
.section.section-color {
  background: #e7d038;
}

.container {
  width: 1200px;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .container {
    width: 95%;
    margin: 30px auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .container {
    width: 93%;
    margin: 50px auto;
  }
}

.title_b {
  margin-bottom: 30px;
}

a {
  text-decoration: none;
}
a:link, a:visited {
  color: #333;
}
a:hover, a:active {
  color: #333;
}

.btn {
  display: inline;
}
.btn a {
  display: inline-block;
  width: 100%;
  padding: 20px 10px;
  text-align: center;
  color: #fff;
  background: #47c08e;
  border: 1px solid #47c08e;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.btn a:hover {
  background: #fff;
  border: 1px solid #47c08e;
  color: #47c08e;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.btn__block {
  margin-top: auto;
  text-align: center;
}
.btn__block a, .btn__block .form__btn {
  display: inline-block;
  background: #efefef;
  color: #333;
  padding: 10px;
  border-radius: 10px;
}

form {
  cursor: pointer;
}
form #number {
  width: 100px;
  font-size: 2rem;
  padding: 10px 15px;
}
form #addbtn {
  width: 200px;
  height: 60px;
  background: #e7d038;
  color: #333;
  border: 0;
  font-size: 16rem;
  margin-left: 20px;
  padding: 20px;
  border-radius: 10px;
  cursor: pointer;
}
form #addbtn:before {
  font-family: "FontAwesome";
  font-weight: 900;
  content: "\f07a";
}
form #search {
  height: auto;
  background: #e7d038;
  color: #333;
  border: 0;
  font-size: 28rem;
  margin-left: 10px;
  padding: 10px;
  border-radius: 10px;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 100px;
  right: 100px;
  z-index: 30;
}
@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 20px;
    right: 30px;
  }
}
.pagetop .pagetop_link {
  position: relative;
  padding: 30px;
  background: #333;
  display: block;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .pagetop .pagetop_link {
    padding: 20px;
  }
}
.pagetop .pagetop_link::before, .pagetop .pagetop_link::after {
  content: "";
  margin: auto;
  position: absolute;
  background: #fff;
}
.pagetop .pagetop_link::before {
  width: 15px;
  height: 3px;
  top: -4px;
  bottom: 0;
  right: 17px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .pagetop .pagetop_link::before {
    top: -4px;
    bottom: 0;
    right: 8px;
  }
}
.pagetop .pagetop_link::after {
  width: 3px;
  height: 15px;
  top: 20px;
  left: 24px;
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
@media screen and (max-width: 767px) {
  .pagetop .pagetop_link::after {
    top: 11px;
    left: 14px;
  }
}

header {
  margin-bottom: 30px;
}
header.header-fix {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 30;
  -webkit-animation: ani 0.5s;
          animation: ani 0.5s;
}
@media screen and (max-width: 767px) {
  header.header-fix {
    background: rgba(255, 255, 255, 0.8);
  }
}
header.header-fix .header_tel a {
  font-size: 24rem;
}

@-webkit-keyframes ani {
  0% {
    margin-top: -64px;
  }
  100% {
    margin-top: 0;
  }
}

@keyframes ani {
  0% {
    margin-top: -64px;
  }
  100% {
    margin-top: 0;
  }
}
footer p {
  color: #333;
}

#footer {
  width: 100%;
  height: auto;
  background: #efefef;
}
#footer .txt {
  color: #fff;
}
#footer .flex {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-align-items: flex-start;
}
#footer ul li a {
  color: #333;
  text-decoration: none;
  content: "＞";
  margin-right: 10px;
}
#footer ul .col-01 {
  margin: 0;
}
#footer ul .col-02 {
  margin-left: 60px;
  margin-top: 0;
  margin-right: 0;
}
#footer ul .copy {
  margin-left: auto;
  margin-bottom: 0;
  margin-top: auto;
}

input {
  line-height: 1.9;
  padding: 10px 5px;
}

label {
  margin-bottom: 10px;
}

.create__input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}
.create__input input, .create__input select {
  line-height: 1.6;
}
.create__input label {
  width: 200px;
}
.create__input input, .create__input textarea {
  padding: 10px;
  width: calc(100% - 200px);
}

.icon_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.icon_area i {
  margin-right: 10px;
}

.num_area {
  counter-reset: num;
}
.num_area .num_txt {
  padding-left: 1.6em;
  text-indent: -1.6em;
}
.num_area .num_txt:before {
  counter-increment: num;
  content: "(" counter(num) ")";
}

.num_area-alpha {
  counter-reset: alpha;
}
.num_area-alpha .num_txt-alpha {
  padding-left: 1.6em;
  text-indent: -1.6em;
}
.num_area-alpha .num_txt-alpha:before {
  counter-increment: alpha;
  content: "(" counter(alpha, upper-alpha) ")";
}

.num_area-roman {
  counter-reset: roman;
}
.num_area-roman .num_txt-roman {
  padding-left: 1.6em;
  text-indent: -1.6em;
}
.num_area-roman .num_txt-roman:before {
  counter-increment: roman;
  content: counter(roman, upper-roman) ".";
}

.arrow {
  position: relative;
}
.arrow:before, .arrow:after {
  content: "";
  background: #47c08e;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.arrow:before {
  height: 2px;
  width: 70px;
  top: 23px;
  right: -40px;
}
.arrow:after {
  height: 2px;
  width: 15px;
  top: 18px;
  right: -41px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.arrow:hover:before {
  right: -60px;
}
.arrow:hover:after {
  right: -61px;
}
.arrow.arrow-center {
  width: 70px;
  margin: auto;
}
.arrow.arrow-center:before {
  right: 0;
}
.arrow.arrow-center:after {
  right: -3px;
}
.col {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.col.col_2 > * {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .col.col_2 > * {
    width: 100%;
  }
}
.col.col_3 > * {
  width: 33.333%;
}
@media screen and (max-width: 767px) {
  .col.col_3 > * {
    width: 100%;
  }
}
.col.col_4 > * {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .col.col_4 > * {
    width: 50%;
  }
}
.col.col_5 > * {
  width: 20%;
}
.col.col_6 > * {
  width: 16.6666666667%;
}
.col.col_m_s > :first-of-type {
  width: 70%;
}
.col.col_m_s > :last-of-type {
  width: 30%;
}
.col.col_s_m > :first-of-type {
  width: 30%;
}
.col.col_s_m > :last-of-type {
  width: 70%;
}
.col.col_y {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.marker {
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, #f6e87c));
  background-image: linear-gradient(left, transparent 50%, #f6e87c 50%);
  background-repeat: repeat-x;
  background-size: 200% 0.8em;
  background-position: 0 0.5em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: bold;
}

.marker_on {
  background-position: -100% 0.9em;
}

.be_img::before {
  content: "";
  display: inline-block;
  background: url("../images/common/before.png") no-repeat center/contain;
  width: 233px;
  height: 34px;
}

.af_img::before {
  content: "";
  display: inline-block;
  background: url("../images/common/before.png") no-repeat center/contain;
  width: 233px;
  height: 34px;
}

.ba_img::before, .ba_img::after {
  content: "";
  display: inline-block;
  width: 233px;
  height: 34px;
}
.ba_img::before {
  background: url("../images/common/before.png") no-repeat center/contain;
}
.ba_img::after {
  background: url("../images/common/before.png") no-repeat center/contain;
}

.be_con::before {
  content: "---";
  font-size: 20rem;
}

.af_con::after {
  content: "---";
  font-size: 20rem;
}

.ba_con::before, .ba_con::after {
  content: "---";
  font-size: 20rem;
}
.ba_con::before {
  content: "---";
  font-size: 20rem;
}
.ba_con::after {
  content: "---";
  font-size: 20rem;
}

.description {
  font-size: 16rem;
}