.cf:after {
  content: "";
  clear: both;
  display: block;
}

.op {
  display: block !important;
}

.os {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .op {
    display: none !important;
  }
  .os {
    display: block !important;
  }
}
/* ------------------------------
 width: all
------------------------------ */
body main .external-link-wrap .external-link {
  background-color: #996C0B !important;
}
body main .name-wrap {
  width: 30% !important;
}
body main section.information .title .type.type-engei {
  background-color: #904dc5;
}
body main section.overview-asanoma .overview-title-images .img-person {
  width: 217.5px;
  max-width: 24.885583524%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 60;
}
body main section.overview-asanoma .overview-title-images .img-wrap::before {
  display: none !important;
}
body main section.overview-asanoma .overview-title-wrap .overview-title {
  background-color: #996C0B !important;
}
body main section.overview-asanoma .overview-txt-box {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body main section.overview-asanoma .overview-txt-box .txt-box {
  text-align: center;
}
body main section.overview-asanoma .overview-txt-box .txt-box h3 {
  font-size: 41px;
  font-weight: bold;
}
body main section.overview-asanoma .overview-txt-box .txt-box .t01 {
  line-height: 190%;
  margin-top: 20px;
  text-align: left;
}
body main div.features01 {
  margin-top: 9.77%;
}
body main section.profile {
  margin-top: 9.77%;
  padding-top: 30px;
}
body main section.profile h2 {
  background-color: #996C0B !important;
  position: relative;
  padding: 5px 10px 5px 42% !important;
  text-align: left;
}
body main section.profile h2 .photo {
  width: 42.8571428571%;
  height: 300px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: absolute;
  bottom: 0px;
  left: 0;
}
body main section.profile h2 .photo img {
  width: 100%;
  display: block;
}
body main section.profile h2::before {
  display: none !important;
}
body main section.profile .accordion-box .accordion-wrap .accordion-ttl {
  color: #996C0B !important;
  border: 4px solid #996C0B !important;
  background-color: #fff;
}
body main section.profile .arrow::before {
  background-color: #996C0B !important;
}
body main section.profile .arrow::after {
  background-color: #996C0B !important;
}
body main div.s01 .wrapper .dl01 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body main div.s01 .wrapper .dl01 dt {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 50%;
  padding-left: 10px;
}
body main div.s01 .wrapper .dl01 dd {
  width: 50%;
  padding-right: 10px;
  line-height: 190%;
}
body main div.s01 .wrapper .dl02 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 35px;
}
body main div.s01 .wrapper .dl02 dt {
  width: 50%;
  padding-right: 10px;
}
body main div.s01 .wrapper .dl02 dt img {
  width: 100%;
  display: block;
}
body main div.s01 .wrapper .dl02 dt img + img {
  margin-top: 25px;
}
body main div.s01 .wrapper .dl02 dd {
  width: 50%;
  padding-left: 15px;
}
body main div.s01 .wrapper .dl02 dd img {
  width: 100%;
  display: block;
}
body main div.s01 .wrapper .dl02 dd img.msg {
  width: 95%;
}
body main div.s01 .wrapper .dl02 dd .btn_blog {
  display: block;
  margin-top: 25px;
}
body main div.s01 .wrapper .dl03 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 35px;
}
body main div.s01 .wrapper .dl03 dt {
  width: 50%;
  padding-left: 10px;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
body main div.s01 .wrapper .dl03 dt img {
  width: 100%;
  display: block;
}
body main div.s01 .wrapper .dl03 dt img + img {
  margin-top: 25px;
}
body main div.s01 .wrapper .dl03 dd {
  width: 50%;
  padding-right: 15px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
body main div.s01 .wrapper .dl03 dd p {
  line-height: 190%;
}
body main div.s01 .wrapper .dl03 dd img {
  width: 100%;
  display: block;
  margin-top: 20px;
}
body main div.s01 .wrapper .dl03 dd img.msg {
  width: 95%;
}
body main section.s02 {
  margin-top: 80px;
  margin-bottom: 1em;
}
body main section.s02 .wrapper .t01 {
  text-align: center;
  font-weight: bold;
  font-size: 39px;
  color: #996C0B;
}
body main section.s03 {
  padding-top: 20px;
  margin-bottom: -50px;
}
body main section.s03 .wrapper .dl04 {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 35px;
}
body main section.s03 .wrapper .dl04 dt {
  width: 50%;
  padding-right: 10px;
}
body main section.s03 .wrapper .dl04 dt img {
  width: 100%;
  display: block;
}
body main section.s03 .wrapper .dl04 dd {
  width: 50%;
  padding-left: 10px;
  line-height: 190%;
}
body main section.s03 .wrapper .t01 {
  text-align: center;
  font-weight: bold;
  font-size: 39px;
  color: #996C0B;
  margin-top: 70px;
}
body main div.features03 {
  margin-top: 9.77%;
}
body main section.s04 {
  margin-top: 70px;
}
body main section.s04 .wrapper .text-wrap p {
  line-height: 190%;
}
body main section.s04 .wrapper .msg02 {
  width: 100%;
  max-width: 707px;
  display: block;
  margin: 70px auto 20px;
}
body main section.s04 .wrapper .changephotobox01 {
  max-width: 687.5px;
  margin: 30px auto 0;
}
body main section.s04 .wrapper .changephotobox01 .msg03 {
  width: 100%;
  display: block;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper {
  max-width: 687.5px;
  margin: -32% auto 0;
  position: relative;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .base {
  width: 100%;
  display: block;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .base.active {
  opacity: 0;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin: -180px auto 0;
  z-index: 2;
  width: 385px;
  max-width: 100%;
  display: none;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01.active,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02.active,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03.active,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04.active,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05.active {
  display: block !important;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl {
  padding: 15px;
  border: 4px solid #000;
  background-color: #fff;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl dt img,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl dt img,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl dt img,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl dt img,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl dt img {
  width: 100%;
  display: block;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl dd,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl dd,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl dd,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl dd,
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl dd {
  line-height: 190%;
  margin-top: 20px;
}
body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 {
  z-index: 3;
}
body main section.s04 .wrapper .changephotobox01 .changephotolist {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 20px;
}
body main section.s04 .wrapper .changephotobox01 .changephotolist li {
  width: 90px;
  height: 90px;
  border: 4px solid #996C0B;
  background-color: #996C0B;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  font-size: 39px;
  line-height: 82px;
  border-radius: 90px;
  display: flex;
    align-items: center;
    justify-content: center;
}
body main section.s04 .wrapper .changephotobox01 .changephotolist li button {
  color: #fff;
  width: 100%;
  height: 100%;
  padding: 0;
}
body main section.s04 .wrapper .changephotobox01 .changephotolist li.active {
  background-color: #fff;
}
body main section.s04 .wrapper .changephotobox01 .changephotolist li.active button {
  color: #996C0B;
}
body main section.message .video-wrap {
  margin-top: 1em;
}

@media screen and (max-width: 768px) {
  body main section.profile .accordion-box .accordion-wrap .accordion-ttl {
    font-size: 20px;
    letter-spacing: 2px !important;
  }
}
@media screen and (max-width: 540px) {
  body main section.overview-asanoma .overview-title-images .img-person {
    max-width: 100%;
    width: 150px;
    bottom: calc((100vw - 50px) * 0.7);
    right: 0;
    left: auto;
  }
  body main .external-link-wrap .external-link {
    background-color: #996C0B !important;
  }
  body main .name-wrap {
    width: 45% !important;
  }
  body main section.information .title .type.type-engei {
    background-color: #904dc5;
  }
  body main section.overview-asanoma .overview-title-images .img-person {
    max-width: 100%;
    width: 150px;
    bottom: calc((100vw - 50px) * 0.65);
    right: 0;
    left: auto;
    z-index: 0;
  }
  body main section.overview-asanoma .overview-title-wrap .overview-title {
    background-color: #996C0B !important;
  }
  body main section.overview-asanoma .overview-txt-box {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 25px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  body main section.overview-asanoma .overview-txt-box .txt-box {
    text-align: center;
  }
  body main section.overview-asanoma .overview-txt-box .txt-box h3 {
    font-size: 24px;
    font-weight: bold;
  }
  body main section.overview-asanoma .overview-txt-box .txt-box .t01 {
    line-height: 190%;
    margin-top: 15px;
    text-align: left;
  }
  body main section.profile {
    padding-top: 10px;
  }
  body main section.profile h2 {
    background-color: #996C0B !important;
    position: relative;
    padding: 5px 10px 5px 42% !important;
  }
  body main section.profile h2 .photo {
    width: 42.8571428571%;
    height: 300px;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: absolute;
    bottom: 0px;
    left: 0;
  }
  body main section.profile h2 .photo img {
    width: 100%;
    display: block;
  }
  body main section.profile h2::before {
    display: none !important;
  }
  body main section.profile .accordion-box .accordion-wrap .accordion-ttl {
    color: #996C0B !important;
    border: 4px solid #996C0B !important;
    background-color: #fff;
  }
  body main section.profile .arrow::before {
    background-color: #996C0B !important;
  }
  body main section.profile .arrow::after {
    background-color: #996C0B !important;
  }
  body main div.s01 .wrapper .dl01 {
    display: block;
  }
  body main div.s01 .wrapper .dl01 dt {
    width: 100%;
    padding-left: 0;
  }
  body main div.s01 .wrapper .dl01 dd {
    width: 100%;
    padding-right: 0;
    line-height: 190%;
    margin-top: 15px;
  }
  body main div.s01 .wrapper .dl02 {
    display: block;
    margin-top: 35px;
  }
  body main div.s01 .wrapper .dl02 dt {
    width: 100%;
    padding-right: 0;
  }
  body main div.s01 .wrapper .dl02 dt img {
    width: 100%;
    display: block;
  }
  body main div.s01 .wrapper .dl02 dt img + img {
    margin-top: 25px;
  }
  body main div.s01 .wrapper .dl02 dd {
    width: 100%;
    padding-left: 0;
    margin-top: 10px;
    max-width: 350px;
    margin: 10px auto 0;
  }
  body main div.s01 .wrapper .dl02 dd img {
    width: 100%;
    display: block;
  }
  body main div.s01 .wrapper .dl02 dd img.msg {
    width: 95%;
  }
  body main div.s01 .wrapper .dl02 dd .btn_blog {
    display: block;
    margin-top: 25px;
  }
  body main div.s01 .wrapper .dl03 {
    display: block;
    margin-top: 35px;
  }
  body main div.s01 .wrapper .dl03 dt {
    width: 100%;
    padding-left: 0px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  body main div.s01 .wrapper .dl03 dt img {
    width: 100%;
    display: block;
  }
  body main div.s01 .wrapper .dl03 dt img + img {
    margin-top: 25px;
  }
  body main div.s01 .wrapper .dl03 dd {
    width: 100%;
    padding-right: 0;
    margin: 20px auto 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  body main div.s01 .wrapper .dl03 dd p {
    line-height: 190%;
  }
  body main div.s01 .wrapper .dl03 dd img {
    max-width: 350px;
    margin: 20px auto 0;
    width: 100%;
    display: block;
  }
  body main div.s01 .wrapper .dl03 dd img.msg {
    width: 95%;
  }
  body main section.s02 {
    margin-top: 50px;
    margin-bottom: 0;
  }
  body main section.s02 .wrapper .t01 {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    color: #996C0B;
    padding-bottom: 10px;
  }
  body main section.s03 {
    padding-top: 0px;
    margin-bottom: -30px;
  }
  body main section.s03 .wrapper .dl04 {
    display: block;
    margin-top: 35px;
  }
  body main section.s03 .wrapper .dl04 dt {
    width: 100%;
    padding-right: 0px;
  }
  body main section.s03 .wrapper .dl04 dt img {
    width: 100%;
    display: block;
  }
  body main section.s03 .wrapper .dl04 dd {
    width: 100%;
    margin-top: 20px;
    padding-left: 0px;
    line-height: 190%;
  }
  body main section.s03 .wrapper .t01 {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    color: #996C0B;
    margin-top: 40px;
  }
  body main section.s04 {
    margin-top: 40px;
  }
  body main section.s04 .wrapper .text-wrap p {
    line-height: 190%;
  }
  body main section.s04 .wrapper .msg02 {
    width: 100%;
    max-width: 707px;
    display: block;
    margin: 30px auto 20px;
  }
  body main section.s04 .wrapper .changephotobox01 {
    max-width: 687.5px;
    margin: 30px auto 0;
  }
  body main section.s04 .wrapper .changephotobox01 .msg03 {
    width: 100%;
    display: block;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper {
    max-width: 687.5px;
    margin: -10% auto 0;
    position: relative;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .base {
    width: 100%;
    display: block;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .base.active {
    opacity: 0;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: -180px auto 0;
    z-index: 2;
    width: 385px;
    max-width: 100%;
    display: none;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01.active,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02.active,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03.active,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04.active,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05.active {
    display: block !important;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl {
    padding: 15px;
    border: 4px solid #000;
    background-color: #fff;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl dt img,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl dt img,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl dt img,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl dt img,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl dt img {
    width: 100%;
    display: block;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 dl dd,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto02 dl dd,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto03 dl dd,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto04 dl dd,
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto05 dl dd {
    line-height: 190%;
    margin-top: 20px;
  }
  body main section.s04 .wrapper .changephotobox01 .changephoto_wrapper .changephoto01 {
    z-index: 3;
  }
  body main section.s04 .wrapper .changephotobox01 .changephotolist {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
  }
  body main section.s04 .wrapper .changephotobox01 .changephotolist.active {
    margin-top: 80px;
  }
  body main section.s04 .wrapper .changephotobox01 .changephotolist li {
    width: 50px;
    height: 50px;
    border: 2px solid #996C0B;
    background-color: #996C0B;
    cursor: pointer;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    line-height: 50px;
    border-radius: 90px;
  }
  body main section.s04 .wrapper .changephotobox01 .changephotolist li.active {
    background-color: #fff;
    color: #996C0B;
  }
}