@charset "UTF-8";
a {
  color: #0059B2;
}
a:hover, a:active, a:focus {
  color: #198cff;
}
a {
  text-decoration: none;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}

/*----------------------------
	body
----------------------------*/
body {
  background: #FFFFFF;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
  font-size: 1.4em;
}
@media (min-width: 768px) {
  body {
    font-size: 1.6em;
  }
}
body {
  color: #121212;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  text-align: left;
}

/*body,
#contWrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}*/
/* reset */
ul, li, dl, dt, dd {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

p, h1, h2, h3, h4, ul, li, dl, dt, dd, section {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  p, h1, h2, h3, h4, ul, li, dl, dt, dd, section {
    font-size: 1.6rem;
  }
}

* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.pre {
  width: 100%;
  font-size: 1.4rem;
  white-space: pre-wrap;
}
@media (min-width: 768px) {
  .pre {
    width: 960px;
    font-size: 1.6rem;
  }
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

/* 共通スタイル */
.txtC {
  text-align: center;
}

.txtL {
  text-align: left;
}

.txtR {
  text-align: right;
}

.fontS {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .fontS {
    font-size: 1.4rem;
  }
}

.fontXS {
  font-size: 1.2rem !important;
}

.fontL {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .fontL {
    font-size: 1.8rem;
  }
}

.fontXL {
  font-size: 2rem;
}

.ptb-1 {
  padding: 1rem 0;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.forSP {
  display: block;
}
@media (min-width: 768px) {
  .forSP {
    display: none;
  }
}

/* header ************************* */
/* footer ************************* */
/* common style ******************* */
.contWrap {
  padding: 0 0 20px;
  text-align: center;
}
@media (min-width: 560px) {
  .contWrap {
    width: 500px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .contWrap {
    width: 767px;
    margin: 0 auto;
  }
}

.btnBack {
  width: 300px;
  padding: 20px;
  margin: 0 auto;
}
.btnBack a {
  display: block;
  background: #ED1C24;
  color: #FFFFFF;
  font-size: 1.3rem;
  line-height: 1;
  padding: 15px 10px;
  border-radius: 5px;
}
.btnBack a span {
  position: relative;
}
.btnBack a span::before {
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  top: -15%;
  left: -25px;
  background: url("../images/common/arrow_left_wh.png") no-repeat left;
  background-size: 7px 11px;
}

h1#logo {
  width: 80%;
  margin: 20px auto;
}
@media (min-width: 768px) {
  h1#logo {
    width: 280px;
  }
}
h1#logo img {
  width: 100%;
}

.arrow {
  position: relative;
  display: inline-block;
  width: 8.2px;
  height: 12.5px;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 10px;
  height: 1px;
  border-radius: 9999px;
  background-color: #262626;
  transform-origin: calc(100% - 0.5px) 50%;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}

/* top ******************************** */
@media (min-width: 768px) {
  .mainV {
    margin-top: 20px;
  }
}
.mainV h1 {
  font-size: 0;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.topRead { /*202508以降は使用してない*/
  width: 90%;
  font-size: 1.3rem;
  text-align: center;
  padding-bottom: 20px;
  margin: 0 auto;
}
@media (min-width: 560px) {
  .topRead {
    width: 500px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .topRead {
    width: 600px;
    margin: 0 auto;
  }
}

.topRead2,
#training2025 {
  font-size: 1.4rem;
  text-align: left;
  padding: 20px 0;
  margin: 0 auto;
}

.topRead2 {
  padding: 20px 15px;
}

#topnews {
  padding: 10px 12px;
  background: #fef7ec;
  margin-bottom: 2em;
  text-align: left;
}

/*20250801から廃止/
#topMenu{
	text-align: center;
	img{
		width: 100%;
	}
	@include tab{
		width: 500px;
		margin: 0 auto;
	}
	@include pc{
		width: 600px;
		margin: 0 auto;
	}
	li{
		margin-bottom: 20px;
		a{
			color: #FFFFFF;
			display: block;
			padding: 5px 0;
			p{
				background: #E60012 url("../images/common/arrow_right_wh.png") no-repeat 97%;
				background-size: 7px 11px;
				width: 100%!important;
				margin: 0 auto;
				padding: 5px 15px;
				font-size: 1.3rem;
				font-weight: 700;
				text-align: center;
				span{
					font-size: 1.7rem;
					display: block;
				}
				@include sp{
					width: 75%;
				}
				@include pc{
					padding: 5px 60px;
					font-size: 1.6rem;
					span{
						font-size: 2.4rem;
					}
				}
				&.theme02{
					background-color: #ff6347;
					color: #FFF;
				}
				&.theme03{
					background-color: #ffd700;
					color: #000;
				}
				&.theme01{
					background-color: #9ddb9d;
					color: #000;
				}
			}
			&:hover{
				opacity: 0.7;
			}
		}
	}
}20250801から廃止*/
.sliderBox,
#training2025 {
  text-align: left;
}
.sliderBox h2,
#training2025 h2 {
  padding: 0 10px;
  font-size: 1.8rem;
  margin-bottom: 0;
}
.sliderBox h2 span,
#training2025 h2 span {
  font-size: 1.4rem;
}
.sliderBox h2 span.strong,
#training2025 h2 span.strong {
  background: #f8ffd9;
  padding: 5px 0;
  margin-right: 5px;
}
.sliderBox h2 a,
#training2025 h2 a {
  font-size: 1.4rem;
  font-weight: normal;
}
@media (min-width: 768px) {
  .sliderBox h2,
  #training2025 h2 {
    padding: 0;
    font-size: 1.9rem;
  }
  .sliderBox h2 span,
  #training2025 h2 span {
    font-size: 1.6rem;
  }
}
.sliderBox h3,
#training2025 h3 {
  font-size: 1.2rem;
  padding: 5px 10px;
}
@media (min-width: 768px) {
  .sliderBox h3,
  #training2025 h3 {
    font-size: 1.4rem;
  }
}

#topMenu-slide.topslider,
#topMenu-slide2.topslider,
#topMenu-slide3.topslider,
#topMenu-slide4.topslider {
  width: 100%;
  margin: 0 auto 2.5rem;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  #topMenu-slide.topslider,
  #topMenu-slide2.topslider,
  #topMenu-slide3.topslider,
  #topMenu-slide4.topslider {
    width: 767px;
    min-height: 310px;
  }
}
#topMenu-slide.topslider img,
#topMenu-slide2.topslider img,
#topMenu-slide3.topslider img,
#topMenu-slide4.topslider img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
#topMenu-slide.topslider .slide,
#topMenu-slide2.topslider .slide,
#topMenu-slide3.topslider .slide,
#topMenu-slide4.topslider .slide {
  padding: 5px;
}
#topMenu-slide.topslider .slide img,
#topMenu-slide2.topslider .slide img,
#topMenu-slide3.topslider .slide img,
#topMenu-slide4.topslider .slide img {
  margin-bottom: 5px;
}
#topMenu-slide.topslider .slide a,
#topMenu-slide2.topslider .slide a,
#topMenu-slide3.topslider .slide a,
#topMenu-slide4.topslider .slide a {
  color: #333333;
}
#topMenu-slide.topslider .slide p,
#topMenu-slide2.topslider .slide p,
#topMenu-slide3.topslider .slide p,
#topMenu-slide4.topslider .slide p {
  padding-bottom: 0;
  font-weight: 700;
}
#topMenu-slide.topslider .slide p.reco,
#topMenu-slide2.topslider .slide p.reco,
#topMenu-slide3.topslider .slide p.reco,
#topMenu-slide4.topslider .slide p.reco {
  padding: 3px 6px;
  margin-bottom: 3px;
  font-weight: normal;
  line-height: 1;
  color: #000;
  background: #f4f4f4;
  border-radius: 3px;
}
#topMenu-slide.topslider .slide p.new span,
#topMenu-slide2.topslider .slide p.new span,
#topMenu-slide3.topslider .slide p.new span,
#topMenu-slide4.topslider .slide p.new span {
  display: inline-block;
  padding: 4px 8px;
  margin-top: 3px;
  background: #FC4046;
  border-radius: 3px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  font-weight: normal;
}
@media (min-width: 768px) {
  #topMenu-slide.topslider .slide p.new span,
  #topMenu-slide2.topslider .slide p.new span,
  #topMenu-slide3.topslider .slide p.new span,
  #topMenu-slide4.topslider .slide p.new span {
    padding: 5px 12px;
    font-size: 1.2rem;
  }
}
#topMenu-slide.topslider .slick-arrow,
#topMenu-slide2.topslider .slick-arrow,
#topMenu-slide3.topslider .slick-arrow,
#topMenu-slide4.topslider .slick-arrow {
  display: none;
}
@media (min-width: 768px) {
  #topMenu-slide.topslider .slick-arrow,
  #topMenu-slide2.topslider .slick-arrow,
  #topMenu-slide3.topslider .slick-arrow,
  #topMenu-slide4.topslider .slick-arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
    position: absolute;
    top: 35%;
    z-index: 1;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  }
  #topMenu-slide.topslider .slick-arrow::before,
  #topMenu-slide2.topslider .slick-arrow::before,
  #topMenu-slide3.topslider .slick-arrow::before,
  #topMenu-slide4.topslider .slick-arrow::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border: 1px solid #09000d;
    border-width: 3px 3px 0 0;
    position: absolute;
    top: 10px;
    transform: rotate(45deg);
  }
}
#topMenu-slide.topslider .slick-next,
#topMenu-slide2.topslider .slick-next,
#topMenu-slide3.topslider .slick-next,
#topMenu-slide4.topslider .slick-next {
  display: none;
}
@media (min-width: 768px) {
  #topMenu-slide.topslider .slick-next,
  #topMenu-slide2.topslider .slick-next,
  #topMenu-slide3.topslider .slick-next,
  #topMenu-slide4.topslider .slick-next {
    right: 12px;
  }
  #topMenu-slide.topslider .slick-next::before,
  #topMenu-slide2.topslider .slick-next::before,
  #topMenu-slide3.topslider .slick-next::before,
  #topMenu-slide4.topslider .slick-next::before {
    left: 8px;
  }
}
#topMenu-slide.topslider .slick-prev,
#topMenu-slide2.topslider .slick-prev,
#topMenu-slide3.topslider .slick-prev,
#topMenu-slide4.topslider .slick-prev {
  display: none;
}
@media (min-width: 768px) {
  #topMenu-slide.topslider .slick-prev,
  #topMenu-slide2.topslider .slick-prev,
  #topMenu-slide3.topslider .slick-prev,
  #topMenu-slide4.topslider .slick-prev {
    left: 12px;
  }
  #topMenu-slide.topslider .slick-prev::before,
  #topMenu-slide2.topslider .slick-prev::before,
  #topMenu-slide3.topslider .slick-prev::before,
  #topMenu-slide4.topslider .slick-prev::before {
    border-width: 0 0 3px 3px;
    right: 8px;
  }
}
#topMenu-slide li,
#topMenu-slide2 li,
#topMenu-slide3 li,
#topMenu-slide4 li {
  padding: 0 1px;
}
#topMenu-slide li p,
#topMenu-slide2 li p,
#topMenu-slide3 li p,
#topMenu-slide4 li p {
  text-align: left;
  padding: 5px;
}
#topMenu-slide li p span,
#topMenu-slide2 li p span,
#topMenu-slide3 li p span,
#topMenu-slide4 li p span {
  display: block;
  font-weight: 700;
}

/* training ************************ */
/* h2.training{
	padding: 12px 8px;
	background: #E60012;
	text-align: center;
	line-height: 1.4;
	span{
		font-size: 1.8rem;
		display: block;
	}
	&.theme02{
		background-color: #ff6347;
		color: #FFF;
	}
	&.theme03{
		background-color: #ffd700;
		color: #000;
	}
	&.theme01{
		background-color: #9ddb9d;
		color: #000;
	}
	@include tab{
		img{
			width: 400px;
		}
	}
	@include pc{
		img{
			width: 400px;
		}
		span{
			font-size: 2.4rem;
		}
	}
}

.staffComment{
	padding: 20px 20px 10px;
	@include tab{
		width: 375px;
		margin: 0 auto 20px;
	}
	@include pc{
		width: 400px;
		margin: 0 auto 20px;
	}
}

.commentBox{
	padding: 10px 20px 15px;
	text-align: left;
}

.trainingList{
	margin-bottom: 20px;
	padding: 0 20px;
	@include tab{
		width: 500px;
		margin: 0 auto 20px;
	}
	@include pc{
		width: 600px;
		margin: 0 auto 20px;
	}
	li{
		text-align: left;
		a{
			display: block;
			padding: 10px;
			font-size: 2.0rem;
			color: #FFFFFF;
			border-radius: 5px;
			word-break: break-all;
			img{
				display: inline-block;
				margin-left: 5px;
				height: 1.2em;
				vertical-align: middle;
			}
			span{
				display: block;
				font-size: 1.6rem;
			}
		}
		&:nth-of-type(3n) a{
			background: #E64571;
		}
		&:nth-of-type(3n+1) a{
			background: #0EC89F;
		}
		&:nth-of-type(3n+2) a{
			background: #20AFDB;
		}
		.new{
			color: #FF0000;
			font-size: 1.2rem;
		}
		dl{
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 0 5px 10px 5px;
			dt{
				font-size: 1.5rem;
				font-weight: 700;
				@include sp{
					font-size: 1.4rem;
				}
			}
			dd{
				width: 50%;
				max-width: 200px;
				padding: 5px;
				margin-left: 5px;
			}
		}
	}
} */
#training2025 { /*h2,h3は[.sliderBox]と一緒に記載してます*/
  text-align: center;
}
#training2025 .commentBox {
  padding: 0 15px;
  text-align: left;
}
@media (min-width: 768px) {
  #training2025 .commentBox {
    padding: 10px 20px 15px;
  }
}

.trainingListBox { /*202508～*/
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.trainingListBox .list {
  width: 49%;
  padding: 5px 5px 15px;
  text-align: left;
}
.trainingListBox .list img {
  margin-bottom: 5px;
  border-radius: 5px;
}
.trainingListBox .list a {
  color: #333333;
}
.trainingListBox .list p {
  padding-bottom: 0;
  font-weight: 700;
}
.trainingListBox .list p.reco {
  padding: 3px 6px;
  margin-bottom: 3px;
  font-weight: normal;
  line-height: 1;
  color: #000;
  background: #f4f4f4;
  border-radius: 3px;
}
.trainingListBox .list p.new span {
  display: inline-block;
  padding: 4px 8px;
  margin-top: 3px;
  background: #FC4046;
  border-radius: 3px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  font-weight: normal;
}
@media (min-width: 768px) {
  .trainingListBox .list p.new span {
    padding: 5px 12px;
    font-size: 1.2rem;
  }
}

.movieTitle {
  padding: 0 10px 10px;
  margin-bottom: 10px;
  font-size: 2.3rem;
  text-align: center;
  /*background: #0EC89F;
  color: #FFFFFF;*/
  word-break: break-all;
}
.movieTitle span {
  display: block;
  font-size: 1.8rem;
}

.movie {
  margin-bottom: 10px;
}
.movie iframe {
  max-width: 100%;
  height: 315px !important;
  padding: 0;
  margin: auto;
}
@media (min-width: 768px) {
  .movie iframe {
    width: 560px !important;
    height: 315px !important;
    padding: 10px 0;
    margin: auto;
  }
}

.status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  margin: 0 auto;
  background: #F08100;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .status {
    justify-content: space-around;
  }
}
.status .time {
  font-size: 1.5rem;
  line-height: 1.7;
  position: relative;
  padding-left: 30px;
}
.status .time::before {
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../images/training/icon_time.png") no-repeat;
  background-size: 25px 25px;
}
.status .level {
  width: 50%;
  max-width: 200px;
  padding: 5px 5px 5px 10px;
}

.detail {
  padding: 10px 20px;
  text-align: left;
}

.errorBox {
  font-size: 1.8rem;
  text-align: left;
  padding: 30px 25px;
}
@media (min-width: 768px) {
  .errorBox {
    padding: 30px 50px;
  }
}/*# sourceMappingURL=layout.css.map */