@charset "utf-8";

/* ---------------- common ---------------- */

#hitorimusume {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "メイリオ", sans-serif;
  color: #4A3F3A;
  overflow-wrap: break-word;
}

.my-container {
  width: 1150px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1149px) {
  .my-container {
    width: 95%;
  }
}

@media screen and (max-width: 767px) {
  .my-container {
    width: 100%;
    margin: 0 auto;
  }
}

img.section-title {
  height: 95px;
  width: auto;

  padding-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
}

@media screen and (max-width: 767px) {
  .section-title p {
    text-align: center;
    padding: 5px;
  }
}

.note-ball img {
  position: absolute;
  z-index: 2;
  display: flex;

  width: 80px;
  height: 80px;
  border-radius: 50%;

  top: 10px;
  left: 10px;

  text-align: center;
  font-size: 20px;
  font-weight: bold;

  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .note-ball img {
    top: 30px;
    left: 30px;
    width: 80px;
    height: 80px;
  }
}


/* ---------------- topslider ---------------- */
.slider1 {
  position: relative;
  z-index: 1;

  margin-bottom: 80px;
}

.slider1-item01 {
  background: url(../img/KV01.jpg);
}

.slider1-item02 {
  background: url(../img/KV02.jpg);
}

.slider1-item03 {
  background: url(../img/KV03.jpg);
}

.slider1-item {
  width: 100%;
  height: 600px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .slider1-item {
    height: 600px;
  }
}

.slick1-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin-top: -80px !important;
}

.slick1-dots li {
  display: inline-block;
  margin: 0 5px;
  width: 50px;
  height: 5px;
}

.slick1-dots button {
  color: transparent;
}

.slick1-dots li button:before {
  content: '●';
  width: 70px;
  height: 5px;
  font-size: 20px;
  color: #FFFFFF;
  opacity: 1;
}

.slick1-dots .slick-active button:before {
  color: #FFBB00;
}

.wrapper {
  position: relative;
}

.wrapper .card-top-row {
  width: 1150px;
  margin: 0 auto;

  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;

  display: flex;
  flex-direction: row;
}

@media screen and (min-width: 768px) and (max-width: 1149px) {
  .wrapper .card-top-row {
    width: 95%;
  }
}

@media screen and (max-width: 767px) {
  .wrapper .card-top-row {
    width: 100%;
    flex-direction: column;
  }
}

.wrapper .card-top {
  position: relative;
  padding: 20px;
}

.wrapper .card-top img:hover {
  transform: scale(0.9);
  transition-duration: 0.5s;
}

.wrapper .card-top-a {
  flex: 5;
}

.wrapper .card-top-x {
  /* flex: 3; */
  flex: 1;
}

@media screen and (max-width: 1100px) {
  .wrapper .card-top-x {
    display: none;
  }
}

.wrapper .card-top-a img {
  padding: 50px;
  width: 450px;
}

.wrapper .card-top-b {
  flex: 3;
}

.wrapper .card-top-b img {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 20px;
}

.wrapper .card-top-c {
  /* flex: 1; */
  flex: 3;
}

.wrapper .card-top-c img {
  position: absolute;
  bottom: 80px;
  right: 0;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .wrapper .card-top-b {
    display: none;
  }

  .wrapper .card-top-c {
    display: none;
  }

  .wrapper .card-top-a img {
    padding: 30px;
    width: 350px;
  }
}


.card-ts-row {
  display: flex;
  flex-direction: row;
}

.card-ts {
  padding: 10px;
  flex: 1;

  margin: 0 auto;
}

.card-ts img {
  height: 150px;
  width: auto;
}

.topsub{
  margin-top: -50px;
}

@media screen and (min-width: 768px) {
  .topsub {
    display: none;
  }
}


/* ---------------- section0 ---------------- */

.section0 p {
  font-size: 18px;
  text-align: center;
  line-height: 44px;
  font-weight: bold;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .section0 p {
    text-align: left;
  }

  .section0 p br {
    display: none;
  }
}


/* ---------------- section1 ---------------- */

.section1 {
  margin-top: 20px;
  margin-bottom: 25px;
}

.sec1-sp {
  display: none;
}

.sec1-pc {
  display: block;
}

.card-s1-row {
  display: flex;
  flex-direction: row;
}

.card-s1 {
  padding: 20px;
  flex: 1;

  margin: 0 auto;
}

.card-s1 img {
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .sec1-sp {
    display: block;
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .sec1-pc {
    display: none;
  }

  .slider2 {
    position: relative;
    z-index: 1;
  }

  .slider2-item {
    width: 100%;
  }

  .slider2-item img {
    width: 100%;
    border-radius: 20px;
  }

  .slick2-prev,
  .slick2-next {
    position: absolute;
    z-index: 3;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    height: 25px;
    width: 25px;
  }

  .slick2-prev {
    left: 2.5%;
    transform: rotate(-135deg);
  }

  .slick2-next {
    right: 2.5%;
    transform: rotate(45deg);
  }

  .slick2-dots {
    position: relative;
    z-index: 3;
    text-align: center;
    margin-top: 30px !important;
  }

  .slick2-dots li {
    display: inline-block;
    margin: 0 5px;
    width: 50px;
    height: 5px;
  }

  .slick2-dots button {
    color: transparent;
  }

  .slick2-dots li button:before {
    content: '●';
    width: 70px;
    height: 5px;
    font-size: 20px;
    color: #4A3F3A88;
    opacity: 1;
  }

  .slick2-dots .slick-active button:before {
    color: #7ead89;
  }
}


/* ---------------- section2 ---------------- */

.section2 {
  margin-top: 25px;
  margin-bottom: 25px;
}

.card-s2-row {
  display: flex;
  flex-direction: row;
}

.card-s2 {
  position: relative;
  padding: 20px;
  flex: 2;
  margin: 0 auto;
}

.card-s2 img {
  border-radius: 10px;
}

.card-s2b {
  position: relative;
  padding: 20px;
  flex: 1;

  margin-top: auto;
  margin-bottom: auto;
}

.card-s2b img:hover {
  transform: scale(0.9);
  transition-duration: 0.5s;
}

.card-s2b img {
  padding: 10px;
}

p.a-date {
  display: inline-block;

  font-size: 13px;
  color: #FFF;
  font-weight: bold;
  background-color: #4A3F3A;
  padding: 5px 15px 5px 15px;
  border-radius: 20px;
  margin: 3px;
}

p.a-title {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 15px 10px 15px;
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .card-s2-row {
    flex-direction: column;
  }

  .card-s2b {
    width: 50%;
    margin: 0 auto;
  }
}


/* ---------------- section3 ---------------- */

.section3 {
  margin-top: 25px;
  margin-bottom: 25px;
}

.rlg_01 {
  width: 100%;

  background: repeating-linear-gradient(45deg,
      #F1F9F4,
      #F1F9F4 15px,
      #fff 0,
      #fff 30px);
}

.card-s3-row {
  display: flex;
  flex-direction: row;
}

.card-s3 {
  position: relative;
  padding: 20px;
  flex: 2;

  margin: 0 auto;
}

.card-s3 img {
  border-radius: 20px;
}

.card-s3b {
  position: relative;
  padding: 20px;
  flex: 1;

  margin-top: auto;
  margin-bottom: auto;
}

.card-s3b img:hover {
  transform: scale(0.9);
  transition-duration: 0.5s;
}

.card-s3b img {
  padding: 10px;
}

@media screen and (max-width: 767px) {
  .card-s3-row {
    flex-direction: column;
  }

  .card-s3b {
    width: 50%;
    margin: 0 auto;
  }
}


/* ---------------- section4 ---------------- */

.section4 {
  margin-top: 25px;
  margin-bottom: 25px;
}

.card-s4-row {
  display: flex;
  flex-direction: row;
}

.card-s4 {
  position: relative;
  padding: 20px;
  flex: 3;
  margin: 0 auto;
}

.card-s4 img {
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .card-s4-row {
    flex-direction: column;
  }
}


/* ---------------- section5 ---------------- */

.bg_ash {
  background-color: #F6F6F6;
  border-radius: 20px;
}

.section5 {
  margin-top: 25px;
  margin-bottom: 50px;
}

.card-s5-row {
  display: flex;
  flex-direction: row;
}

.card-s5 {
  position: relative;
  padding: 20px;
  flex: 3;

  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .card-s5-row {
    flex-direction: column;
  }

  .bg_ash {
    width: 90%;
  }

  p.section-title5 {
    padding: 5px;
    text-align: center;
  }
}


/* ---------------- video ---------------- */

.section-title-v{
  height: 65px;
  width: auto;

  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 20px;
}

.video{
  width: 100%;
  padding: 5px;
  text-align: center;
}

.youtube {
  max-width: 600px;
	width: 100%;
	aspect-ratio: 16 / 9;
  margin: 0 auto;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}

p.video-msg{
	font-weight: bold;
  margin-top: 8px;
  font-size: 14px;
}

.card-sv-row {
  margin-top: 70px;
  display: flex;
  flex-direction: row;
}

.card-sva {
  position: relative;
  flex: 2;
  text-align: right;
}

.card-svb {
  position: relative;
  flex: 5;
  margin: 0 auto;
}

.card-svc {
  position: relative;
  flex: 2;
}

@media screen and (max-width: 767px) {
  .card-sv-row {
    flex-direction: column;
  }

  .card-sva {
    text-align: left;
  }
}


.caution-msg-wrapper {
  text-align: center;
}

.caution-msg {
  display: inline-block;
  color: #F00;
  font-weight: bold;
  margin: 20px 5px;
  padding: 10px 20px;
  text-align: center;
  border: 1px solid #F00;
}

.caution-msg a {
  color: #F00;
  font-weight: bold;
}

.sp_display{
  display: none;
}

@media screen and (max-width: 767px) {
  .sp_display {
    display: block;
  }
}

.attention_txt {
  font-size: 1.4rem;
  position: absolute;
  top: 1.4em;
  right: 1em;
}

@media screen and (max-width: 767px) {
  .attention_txt {
    z-index: 100000;
    font-size: 2.2vw;
    top: 1.9em;
  }
}