@charset "utf-8";



/*　　Home / メインイメージ
-------------------------------------------------------*/
.main-img {
	position: relative;
	height: 100vh;
	overflow: hidden;
}
.main-img .main-umezawa {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 20;
	margin: 0;
	padding: 0;
	width: 41%;
	height: 100%;
	background-image: url("../images/webp/main_umezawa.webp");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
}
.main-img .main-txt {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 20;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 11.2vw;
	background-image: url("../images/webp/main_txt.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
}
.slider-box {
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  position: relative;
  overflow: hidden;
}

@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

@keyframes zoom-out {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoom-txt {
  0% {
		opacity: 0.5;
    transform: translateX(30%) scale(1.6);
    easing: ease-out;
  }
	10% {
		opacity: 1;
    transform: translateX(0) scale(1);
    easing: ease-in;
  }
  100% {
		opacity: 1;
    transform: translateX(0) scale(1);
    easing: ease-in;
  }
}

.main-img .swiper-slide-active .slide-img,
.main-img .swiper-slide-duplicate-active .slide-img,
.main-img .swiper-slide-prev .slide-img {
  animation: zoom-out 10s linear 0s 1 normal both;  
}
.main-img .swiper-slide-active .slide-text img,
.main-img .swiper-slide-duplicate-active .slide-text img,
.main-img .swiper-slide-prev .slide-text img {
  animation: zoom-txt 10s ease 0s 1 normal both;
}
.main-img .slide-text {
	position: absolute;
	top: 50%;
	right: 0;
	width: 59%;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.main-img .slide-img img {
  object-fit: cover;
	object-position: center;
  width: 100vw;
	height: 100vh;
}
.main-img .slide-text img {
	width: 100%;
}
.main-img a {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40%;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.main-img {
	height: 60vh;
}
.main-img .slide-img img{
  height: 60vh;
}
.main-img .main-umezawa {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 20;
	margin: 0;
	padding: 0;
	width: 50%;
	height: 100%;
	background-image: url("../images/webp/main_umezawa.webp");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
}
.main-img .slide-text {
	width: 50%;
}
}

@media screen and (min-width: 768px) and (max-width: 1270px) and (orientation : landscape) {
.main-img {
	position: relative;
	height: 100vh;
	overflow: hidden;
}
.main-img .slide-img img {
  object-fit: cover;
	object-position: center;
  width: 100vw;
	height: 100vh;
}
.main-img .slide-text img {
	width: 100%;
}
}

@media screen and (max-width: 767px){
.main-img {
	height: 195.897vw;
}
.main-img .slide-img img{
  height: 195.897vw;
}
.main-img .slide-text {
	position: absolute;
	top: 9%;
	right: 0;
	width: 100%;
  -webkit-transform: none;
	transform: none;
}
.main-img .main-umezawa-sp {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 20;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/webp/main_umezawa_sp.webp");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
}
}

@media screen and (max-width: 767px) and (orientation : landscape) {
.main-img {
	height: 100vh;
}
.main-img .slide-img img{
  height: 100vh;
}
.main-img .main-umezawa,
.main-img .main-txt {
	display: block !important;
}
.main-img .slide-text {
	display: block !important;
	position: absolute;
	top: 50%;
	right: 0;
	width: 59%;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.main-img .main-umezawa-sp {
	display: none !important;
}
.main-img .tb-sp.slide-text {
	display: none !important;
}
}



/*　　ページタイトルイメージ / パンクズ / ページナビ
-------------------------------------------------------*/
body.pdT-page {
	padding-top: 80px;
}
.page-image {
	position: relative;
	height: 21.5vw;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}
.page-title {
	position: absolute;
	top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	text-shadow: 2px 2px 12px rgba(0,0,0,0.5);
}
.page-title .page-title-en {
	display: block;
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.2;
}
.pankuzu {
	background: #f3f5f8;
}
.pankuzu ul {
	max-width: 1200px;
	margin: auto;
	padding: 10px 0;
}
.pankuzu ul li {
	padding: 6px 6px 6px 26px;
	font-size: 1.2rem;
	line-height: 1;
	color: #282828;
	background-image: url("../images/common/arrow_pankuzu.png");
	background-repeat: no-repeat;
	background-position: left 8px top 8px;
	background-size: 5px auto;
}
.pankuzu li:first-child {
	padding-left: 0;
	background-image: none;
}
.pankuzu li a {
	color: #1441c3;
}
.pankuzu li a:hover {
	color: #1a99e1;
	text-decoration: underline;
}


@media screen and (min-width: 768px) and (max-width: 1270px){
body.pdT-page {
	padding-top: 60px;
}
.page-image {
	height: 32vw;
}
.page-title {
	font-size: 1.8rem;
}
.page-title .page-title-en {
	font-size: 3.4rem;
}
.pankuzu ul {
	max-width: none;
	margin: 0 5%;
}
}

@media screen and (max-width: 767px){
body.pdT-page {
	padding-top: 50px;
}
.page-image {
	height: 34vw;
}
.page-title {
	font-size: 1.4rem;
}
.page-title .page-title-en {
	font-size: 2.2rem;
}
.pankuzu ul {
	max-width: none;
	margin: 0 5%;
}
.pankuzu ul {
	max-width: none;
	margin: 0 5.128%;
	padding: 7px 0;
}
}



/*　　Home
-------------------------------------------------------*/
.home-about {
	position: relative;
}
.home-about-img01 {
	content: "";
	position: absolute;
	top: 0;
	bottom: 80px;
	left: 0;
	width: 48.5%;
	border-radius: 0 50px 50px 0;
	overflow: hidden;
}
.home-about-img01 .trimming-box {
	height: 100%;
	padding-top: 0;
}
.home-about-bg01 {
	content: "";
	position: absolute;
	top: 80px;
	bottom: 0;
	right: 0;
	width: 62%;
	border-radius: 50px 0 0 50px;
	background: #f7f8f9;
	z-index: -1;
}
.home-about-txt01 {
	margin-left: auto;
	padding: 140px 0 80px;
	width: 47.5%;
}
.home-about-txt02 {
	margin-top: -1vw;
	color: #f7f8f9;
	font-size: 10.5vw;
	font-weight: 700;
	line-height: 0.7;
	text-align: center;
}
.home-greetings {
	margin-top: 20px;
}
.home-greetings-img01 {
	width: 30%;
}
.home-greetings-img01 img {
	border-radius: 30px;
}
.home-greetings-txt01 {
	flex: 1;
	margin-right: 5%;
}
.home-services {
	margin: 80px auto 0;
	padding: 0 4vw;
	max-width: 2000px;
}
.home-services-list > li {
	position: relative;
	width: 50%;
}
.home-services-list > li:nth-child(even) {
	margin-top: min(10.9vw, 220px);
}
.home-services-list > li .home-services-inner {
	padding: 0 20.224% 4vw 13.483%;
}
.home-services-list > li .home-services-inner02 {
	padding: 60px 10% 60px 13.483%;
}
.home-services-list > li .services-img01 {
	position: relative;
	padding-bottom: 1.5vw;
}
.home-services-list > li .services-btn-more {
	display: block;
	position: absolute;
	top: min(5vw, 100px);
	right: min(-1.75vw, 36px);
	width: min(4.5vw, 90px);
	height: min(4.5vw, 90px);
	color: #fff;
	font-size: min(0.8vw, 1.6rem);
	font-weight: 700;
	line-height: min(4.5vw, 90px);
	text-align: center;
	border-radius: 50%;
	background: url("../images/common/arrow_01.png"), linear-gradient(to right, #3fb9ff, #4b82ff);
	background-repeat: no-repeat, no-repeat;
	background-position: right 8px center, center;
	background-size: 6px auto, 100%;
	transition-duration: 0.2s;
}
.home-services-list > li .services-btn-more:hover {
	color: #fff;
	background: url("../images/common/arrow_01.png"), linear-gradient(to right, #3fd4ff, #4ba0ff);
	background-repeat: no-repeat, no-repeat;
	background-position: right 8px center, center;
	background-size: 6px auto, 100%;
	transform: scale(1.05);
}
.home-services-list > li .services-btn-more.cnt-achievements {
	top: 40px;
	right: 10%;
}
.home-services-list > li .services-title-num {
	padding-right: 1.5vw;
	font-size: clamp(5rem, 4vw, 8rem);
	font-weight: 700;
	font-style: italic;
	line-height: 1;
	border-right: 1px solid #999;
}
.home-services-list > li .services-title {
	padding-left: 1.5vw;
	font-size: clamp(2rem, 1.3vw, 2.6rem);
	font-weight: 700;
	line-height: 1.4;
}
.home-services-list > li .services-title02 {
	padding: 8px 0 8px 12px;
	font-size: clamp(2rem, 1.3vw, 2.6rem);
	font-weight: 700;
	line-height: 1.4;
	border-left: 6px solid #ffcc00;
}
.home-services-list > li .services-bg-left {
	content: "";
	position: absolute;
	top: 4vw;
	bottom: 0;
	left: 0;
	right: min(-1.5vw, -30px);
	border-radius: 50px 0 50px 0;
	z-index: -1;
}
.home-services-list > li .services-bg-right {
	content: "";
	position: absolute;
	top: 4vw;
	bottom: 0;
	left: min(-1.5vw, 30px);
	right: 0;
	border-radius: 50px 0 50px 0;
	z-index: -1;
}
.home-services-list > li .services-bg-achievements {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: min(-1.5vw, 30px);
	right: 0;
	border-radius: 50px 0 50px 0;
	border: 1px solid #ccc;
	z-index: -1;
}
.num01-bgcolor {
	background: rgba(255,204,0,0.15) !important;
}
.num02-bgcolor {
	background: rgba(45,132,222,0.15) !important;
}
.num03-bgcolor {
	background: rgba(90,164,95,0.15) !important;
}
.num04-bgcolor {
	background: rgba(82,174,175,0.15) !important;
}
.num05-bgcolor {
	background: rgba(225,141,141,0.15) !important;
}
.home-services-list > li .services-txt-en {
	position: absolute;
	bottom: -0.7vw;
	left: 2vw;
	color: #fff;
	font-size: min(5vw, 10rem);
	font-weight: 700;
	line-height: 1;
}
.home-services-list > li:nth-child(even) .services-txt-en {
	position: absolute;
	top: 3.3vw;
	bottom: auto;
	left: auto;
	right: 1.5vw;
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;	
}
.home-services-list > li .list-achievements {
	margin-top: 40px;
}
.home-services-list > li .list-achievements li {
	margin-top: 3px;
	font-size: min(1vw, 1.5rem);
}
.home-flow-list > li {
	padding: 60px 0;
	border-bottom: 1px solid #dedede;
}
.home-flow-list > li .flow-num {
	width: 120px;
	color: #ffcc00;
	font-size: 6rem;
	font-weight: 700;
	font-style: italic;
	line-height: 0.8;
}
.home-flow-list > li .flow-icon {
	width: 84px;
	margin: 5px 50px 0 0;
}
.home-flow-list > li .flow-txt01 {
	flex: 1;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.home-about-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.home-about-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.home-about-txt01 {
	margin: 0 auto;
	padding: 50px 0;
	width: 85%;
}
.home-greetings-txt01 {
	margin-right: 0;
	margin-left: 5%;
}
.home-greetings-img01 img {
	border-radius: 20px;
}
.home-services {
	margin: 60px auto 0;
	padding: 0 4vw;
}
.home-services-list > li .home-services-inner {
	padding: 0 15% 6vw 10%;
}
.home-services-list > li .home-services-inner02 {
	padding: 30px 10% 30px 13.483%;
	height: 43vw;
	overflow: scroll;
}
.home-services-list > li .services-img01 {
	padding-bottom: 3vw;
}
.home-services-list > li .services-btn-more {
	top: 30px;
	right: -30px;
	width: 60px;
	height: 60px;
	font-size: 1.2rem;
	line-height: 60px;
	background-position: right 4px center, center;
	background-size: 5px auto, 100%;
}
.home-services-list > li .services-btn-more:hover {
	background-position: right 4px center, center;
	background-size: 5px auto, 100%;
}
.home-services-list > li .services-btn-more.cnt-achievements {
	top: 30px;
}
.home-services-list > li .services-title-num {
	padding-right: 2vw;
	font-size: 4rem;
}
.home-services-list > li .services-title {
	padding-left: 2vw;
	font-size: 1.4rem;
}
.home-services-list > li .services-title02 {
	padding: 8px 0 8px 12px;
	font-size: 1.4rem;
}
.home-services-list > li .services-bg-left {
	right: min(-1.5vw, -15px);
	border-radius: 30px 0 30px 0;
}
.home-services-list > li .services-bg-right {
	left: min(-1.5vw, 15px);
	border-radius: 30px 0 30px 0;
}
.home-services-list > li .services-bg-achievements {
	top: 0;
	bottom: 0;
	left: min(-1.5vw, 30px);
	right: 0;
	border-radius: 30px 0 30px 0;
	border: 1px solid #ccc;
	z-index: -1;
}
.home-services-list > li:nth-child(even) .services-txt-en {
	position: absolute;
	top: 15vw;
	right: 1vw;
}
.home-services-list > li .list-achievements {
	margin-top: 30px;
}
.home-services-list > li .list-achievements li {
	margin-top: 3px;
	font-size: 1.2rem;
}
.home-flow-list {
	margin-top: 20px;
}
.home-flow-list > li {
	padding: 30px 0;
}
.home-flow-list > li .flow-num {
	width: 80px;
	font-size: 4rem;
}
.home-flow-list > li .flow-icon {
	width: 56px;
	margin: 5px 30px 0 0;
}
}

@media screen and (max-width: 767px){
.home-about-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.home-about-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.home-about-txt01 {
	margin: 0 auto;
	padding: 30px 0;
	width: 85%;
}
.home-greetings-img01 {
	width: 80%;
	margin: 0 auto 30px;
}
.home-greetings-img01 img {
	border-radius: 20px;
}
.home-greetings-txt01 {
	margin-right: 0;
}
.home-services {
	margin: 20px auto 0;
	padding: 0 5%;
}
.home-services-list > li {
	width: 100%;
	margin-top: 40px;
}
.home-services-list > li:nth-child(even) {
	margin-top: 40px;
}
.home-services-list > li .home-services-inner {
	padding: 0 12% 12vw 8%;
}
.home-services-list > li .home-services-inner02 {
	padding: 8vw 5% 8vw 5%;
}
.home-services-list > li .services-img01 {
	padding-bottom: 5vw;
}
.home-services-list > li .services-btn-more {
	top: 30px;
	right: -30px;
	width: 60px;
	height: 60px;
	font-size: 1.2rem;
	line-height: 60px;
	background-position: right 4px center, center;
	background-size: 5px auto, 100%;
}
.home-services-list > li .services-btn-more:hover {
	background-position: right 4px center, center;
	background-size: 5px auto, 100%;
}
.home-services-list > li .services-btn-more.cnt-achievements {
	top: 30px;
	right: 5%;
}
.home-services-list > li .services-title-num {
	padding-right: 2vw;
	font-size: 4rem;
}
.home-services-list > li .services-title {
	padding-left: 2vw;
	font-size: 1.4rem;
}
.home-services-list > li .services-title02 {
	padding: 8px 0 8px 12px;
	font-size: 1.4rem;
}
.home-services-list > li .services-bg-left {
	top: 8vw;
	right: 0;
	border-radius: 20px 0 20px 0;
}
.home-services-list > li .services-bg-right {
	top: 8vw;
	left: 0;
	border-radius: 20px 0 20px 0;
}
.home-services-list > li .services-bg-achievements {
	border-radius: 20px 0 20px 0;
}
.home-services-list > li .services-txt-en {
	position: absolute;
	bottom: -1vw;
	left: 5vw;
	color: #fff;
	font-size: 10vw;
	font-weight: 700;
	line-height: 1;
}
.home-services-list > li:nth-child(even) .services-txt-en {
	position: absolute;
	top: 35vw;
	right: 1vw;
}
.home-services-list > li .list-achievements {
	margin-top: 30px;
}
.home-services-list > li .list-achievements li {
	margin-top: 3px;
	font-size: 1.2rem;
}

.home-flow-list > li {
	padding: 30px 0;
}
.home-flow-list > li .flow-num {
	width: 50px;
	font-size: 3rem;
}
.home-flow-list > li .flow-icon {
	width: 40px;
	margin: 5px 20px 0 0;
}
}



/*　　お知らせ
-------------------------------------------------------*/
.news-box {
	margin-top: 70px;
	border-bottom: 1px solid #ccc;
}
.news-nav {
	height: 70px;
	margin-bottom: -1px;
}
.news-nav li {
	width: 23.75%;
}
.news-nav li a {
	position: relative;
	display: block;
	height: 60px;
	font-weight: 700;
	color: #282828;
	text-align: center;
	border-radius: 12px 12px 0 0;
	border: 1px solid #e9edf0;
	border-bottom: 1px solid #ccc;
	background-color: #e9edf0;
	background-image: url("../images/common/arrow_02.png");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 6px auto;
	transition-duration: 0.2s;
}
.news-nav li a span {
	position: absolute;
	width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	line-height: 1.5;
}
.news-nav li a:hover {
	height: 70px;
	border: 1px solid #ccc;
	background-color: #f4f7f9;
}
.news-nav li.current a {
	border: 1px solid #ccc;
	border-bottom: 1px solid #fff;
	background-color: #fff;
	background-image: none;
}
.news-nav li.current a:hover {
	height: 60px;
}
.news-list {
	margin-top: 20px;
}
.news-list li {
	margin-top: 60px;
}
.news-list li a {
	display: block;
	color: #282828;
}
.news-list li a:hover {
	color: #282828;
	text-decoration: underline;
}
.news-list li a:hover img {
	opacity: 0.7;
}
.news-thumbnail {
	border-radius: 20px;
	overflow: hidden;
}
.news-list-date {
	margin-top: 15px;
	font-size: 1.4rem;
}
.news-list-txt01 {
	margin-top: 5px;
	font-weight: 700;
}

.news-detail-thumbnail {
	width: 200px;
	margin-right: 30px;
	border-radius: 20px;
	overflow: hidden;
}
.news-detail-txt {
	flex: 1;
}
.news-detail-img01 {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px dotted #ccc;
}
.news-detail-img01 img {
	width: 100%;
	height: auto;
}
.news-detail-content ul {
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 20px;
}
.news-detail-content ol {
  list-style-type: decimal;
  list-style-position: outside;
  margin-left: 20px;
}
.news-detail-content blockquote {
	font-style: italic;
	font-size: 1.6rem;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.news-box {
	margin-top: 50px;
	border-bottom: 0;
}
.news-nav {
	height: auto;
	margin-bottom: 0;
}
.news-nav li {
	width: 47.5%;
	margin-top: 15px;
}
.news-nav li a {
	height: 50px;
	border-radius: 12px;
	border: 1px solid #e9edf0;
}
.news-nav li a:hover {
	height: 50px;
	border-radius: 12px;
	border: 1px solid #ccc;
	background-color: #f4f7f9;
}
.news-nav li.current a {
	height: 50px;
	border-radius: 12px;
	border: 1px solid #ccc;
	background-color: #fff;
	background-image: none;
}
.news-list li {
	margin-top: 30px;
}
.news-list-date {
	font-size: 1.2rem;
}
.news-list-txt01 {
	font-size: 1.2rem;
}
.news-detail-thumbnail {
	width: 160px;
	margin-right: 20px;
}
.news-detail-content blockquote {
	font-size: 1.4rem;
}
}

@media screen and (max-width: 767px){
.news-box {
	margin-top: 40px;
	border-bottom: 0;
}
.news-nav {
	height: auto;
	margin-bottom: 0;
}
.news-nav li {
	width: 100%;
	margin-top: 10px;
}
.news-nav li a {
	height: 50px;
	border-radius: 12px;
	border: 0;
	border-bottom: 0;
}
.news-nav li a:hover {
	height: 50px;
	border: 1px solid #ccc;
	background-color: #f4f7f9;
}
.news-nav li.current a {
	border: 1px solid #ccc;
	background-color: #fff;
	background-image: none;
}
.news-nav li.current a:hover {
	height: 50px;
}
.news-list {
	margin-top: 10px;
}
.news-list li {
	margin-top: 40px;
}
.news-list-date {
	font-size: 1.2rem;
}
.news-list-txt01 {
	font-size: 1.2rem;
}
.news-detail-thumbnail {
	width: 70%;
	margin: 0 auto 20px;
}
.news-detail-txt {
	width: 100%;
}
.news-detail-img01 {
	margin-top: 30px;
	padding-top: 30px;
}
.news-detail-content blockquote {
	font-size: 1.4rem;
}
}



/*　　Home / Books
-------------------------------------------------------*/
.home-books-img01 {
	position: relative;
	padding-top: 20.35%;
	background-image: url("../images/pages/home_books01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.home-books-img01-txt {
	position: absolute;
	top: 4.2vw;
	right: 3vw;
	color: #fff;
	font-size: 5vw;
	font-weight: 700;
	line-height: 1;
	text-align: right;
}
.books-box01 {
	padding-bottom: 60px;
	background: #f7f8f9;
}
.books-slide {
	margin-top: -3vw;
  overflow: hidden;
}
.books-slide .swiper {
  padding: 0 3vw 100px;
  overflow: visible;
	/* max-width: 1200px; */
	margin: 0 auto;
	/* pagination 表示の場合
	padding-bottom: 35px;
	*/
}
.books-slide .slide {
  overflow: hidden;
  /*
	-webkit-transition: var(--transition), opacity 1s;
  transition: var(--transition), opacity 1s;
  -webkit-box-shadow: var(--box-shadow);
          box-shadow: var(--box-shadow);
	*/
}
a.swiper-slide {
	color: #282828;
}
a.swiper-slide:hover {
	color: #282828;
	text-decoration: underline;
}
a.swiper-slide:hover img {
	opacity: 0.7;
}
.books-slide .slide-img {
	position: relative;
	overflow: hidden;
	padding-top: 141%;
	background: #fff;
	/* 200 x 282px */
}
.books-slide .slide-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* スライダーのはみだし部分　*/
.books-slide .swiper-slide:not(.swiper-slide-visible) .slide {
  /* pointer-events: none; */
  opacity: 1;
}
.books-slide .slide-txt {
  padding: 10px 0 0;
	line-height: 1.6;
}
.swiper-button-prev,
.swiper-button-next {
  width: 50px;
	height: 50px;
	margin-top: 0;
}
.swiper-pagination {
	position: absolute;
	bottom: 0 !important;
}
.swiper-pagination-bullet {
  width: 12px;
  height: 8px;
	margin: 0 5px !important;
	border-radius: 0;
	background-color: #999;
}
.swiper-pagination-bullet-active {
  background-color: #18a1a0;
}
.books-slide .swiper-button-prev {
	top: auto;
	bottom: 0;
	left: calc(50% - 80px);
}
.books-slide .swiper-button-next {
	top: auto;
	bottom: 0;
	right: calc(50% - 80px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: rgba(51,51,51,0);
}
.swiper-button-prev::after {
  background-image: url("../images/common/arrow_03.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
	transform: rotate(180deg);
}
.swiper-button-next::after {
  background-image: url("../images/common/arrow_03.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
	opacity: 0.5;
}
.books-btn01 {
	margin-top: 50px;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.books-box01 {
	padding-bottom: 50px;
}
.books-slide .swiper {
  padding: 0 5% 70px;
}
.swiper-button-prev,
.swiper-button-next {
  width: 40px;
	height: 40px;
}
.books-slide .swiper-button-prev {
	left: calc(50% - 65px);
}
.books-slide .swiper-button-next {
	right: calc(50% - 65px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 40px;
	height: 40px;
}
.books-slide .slide-txt {
  font-size: 1.2rem;
}
.books-btn01 {
	margin-top: 30px;
}
}

@media screen and (max-width: 767px){
.books-slide {
	margin-top: 30px;
}
.books-slide .swiper {
  padding: 0 8% 60px;
}
.swiper-button-prev,
.swiper-button-next {
  width: 30px;
	height: 30px;
}
.books-slide .swiper-button-prev {
	left: calc(50% - 50px);
}
.books-slide .swiper-button-next {
	right: calc(50% - 50px);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 30px;
	height: 30px;
}
.books-slide .slide-txt {
  font-size: 1.2rem;
}
.books-btn01 {
	margin-top: 30px;
}
}



/*　　研修講師
-------------------------------------------------------*/
.seminar-cnt {
	position: relative;
}
.seminar-cnt-img01 {
	content: "";
	position: absolute;
	top: 0;
	bottom: 80px;
	left: 0;
	width: 48.5%;
	border-radius: 0 50px 50px 0;
	overflow: hidden;
}
.seminar-cnt-img01 .trimming-box {
	height: 100%;
	padding-top: 0;
}
.seminar-cnt-bg01 {
	content: "";
	position: absolute;
	top: 80px;
	bottom: 0;
	right: 0;
	width: 62%;
	border-radius: 50px 0 0 50px;
	background: #f7f8f9;
	z-index: -1;
}
.seminar-cnt-txt01 {
	margin-left: auto;
	padding: 140px 0 80px;
	width: 47.5%;
	min-height: 620px;
}
.seminar-cnt-txt01-sub {
	padding: 5px;
	border-top: 1px solid #d90e44;
	border-bottom: 1px solid #d90e44;
	background: #fff;
}
.seminar-step-list > li {
	margin-top: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #dedede;
}
.seminar-step-img01 {
	width: 25.416%;
	margin-right: 30px;
}
.seminar-step-img01 img {
	border-radius: 20px 0 20px 0;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.seminar-cnt-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.seminar-cnt-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.seminar-cnt-txt01 {
	margin: 0 auto;
	padding: 50px 0;
	width: 85%;
	min-height: 0;
}
.seminar-step-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.seminar-step-img01 {
	width: 40%;
	margin-right: 20px;
}
}

@media screen and (max-width: 767px){
.seminar-cnt-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.seminar-cnt-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.seminar-cnt-txt01 {
	margin: 0 auto;
	padding: 30px 0;
	width: 85%;
}
.seminar-step-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.seminar-step-img01 {
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;
}
.seminar-step-img01 img {
	border-radius: 30px 0 30px 0;
}
}



/*　　コンサルティングなど
-------------------------------------------------------*/
.consulting-cate span {
	display: inline-block;
	width: 60%;
	padding: 5px;
	color: #fff;
	text-align: center;
	border-radius: 50px;
	background: #666;
}
.consulting-cnt {
	position: relative;
}
.consulting-cnt-img01 {
	content: "";
	position: absolute;
	top: 0;
	bottom: 80px;
	left: 0;
	width: 48.5%;
	border-radius: 0 50px 50px 0;
	overflow: hidden;
}
.consulting-cnt-img01 .trimming-box {
	height: 100%;
	padding-top: 0;
}
.consulting-cnt-bg01 {
	content: "";
	position: absolute;
	top: 80px;
	bottom: 0;
	right: 0;
	width: 62%;
	border-radius: 50px 0 0 50px;
	background: #f7f8f9;
	z-index: -1;
}
.consulting-cnt-featured {
	padding: 10px 20px;
	font-weight: 700;
	border-top: 3px solid #d90e44;
	border-bottom: 3px solid #d90e44;
}
.consulting-cnt-txt01 {
	margin-left: auto;
	padding: 140px 0 80px;
	width: 47.5%;
	min-height: 620px;
}
.consulting-point-list > li {
	margin-top: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #dedede;
}
.consulting-point-img01 {
	margin-bottom: 20px;
}
.consulting-point-img01 img {
	border-radius: 20px 0 20px 0;
}
.consulting-point-txt01 {
	display: inline-block;
	line-height: 1;
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid #dedede;
}
.consulting-example {
	position: relative;
	padding: 30px;
	border: 1px solid #dedede;
	background: #f7f8f9;
}
.consulting-support-txt01 {
	padding: 10px 0;
	text-align: center;
	border-top: 1px solid #282828;
	border-bottom: 1px solid #282828;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.consulting-cnt-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.consulting-cnt-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.consulting-cnt-txt01 {
	margin: 0 auto;
	padding: 50px 0;
	width: 85%;
	min-height: 0;
}
.consulting-point-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.consulting-example {
	padding: 20px;
}
}

@media screen and (max-width: 767px){
.consulting-cate span {
	width: 100%;
}
.consulting-cnt-img01 {
	position: relative;
	top: 0;
	bottom: auto;
	left: 0;
	width: 95%;
	height: 50vw;
	border-radius: 0 30px 30px 0;
}
.consulting-cnt-bg01 {
	position: absolute;
	top: 60px;
	bottom: 0;
	right: 0;
	width: 95%;
	border-radius: 30px 0 0 30px;
}
.consulting-cnt-txt01 {
	margin: 0 auto;
	padding: 30px 0;
	width: 85%;
}
.consulting-point-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.consulting-point-img01 {
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;
}
.consulting-point-img01 img {
	border-radius: 30px 0 30px 0;
}
.consulting-example {
	padding: 15px;
}
}



/*　　経歴・実績など
-------------------------------------------------------*/
.achievements-profile-txt01 {
	width: 65%;
}
.achievements-profile-img01 {
	width: 30%;
}
.achievements-profile-img01 img {
	border-radius: 30px;
}
.achievements-books-list {
	border-top: 1px solid #dedede;
}
.achievements-books-list > li {
	margin-top: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #dedede;
}
.achievements-books-img01 {
	width: 160px;
	margin-right: 30px;
	text-align: center;
}
.achievements-seminar-img01 {
	border-radius: 30px 0 30px 0;
}
.achievements-voice {
	position: relative;
	margin-top: 60px;
	padding: 30px;
}
.achievements-voice::before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	bottom: -10px;
	left: 10px;
	right: -10px;
	border-radius: 30px 0 30px 0;
	background: linear-gradient(to right, #3fb9ff, #4b82ff);
	z-index: -2;
}
.achievements-voice::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border: 1px solid #4dbcff;
	border-radius: 30px 0 30px 0;
	background: #f7f8f9;
	z-index: -1;
}
.achievements-voice-txt01 {
	min-height: 31px;
	padding-left: 40px;
	font-weight: 700;
	background-image: url("../images/pages/icon_voice.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 30px auto;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.achievements-profile-img01 img {
	border-radius: 20px;
}
.achievements-books-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.achievements-voice {
	margin-top: 40px;
	padding: 20px;
	border-radius: 20px 0 20px 0;
}
}

@media screen and (max-width: 767px){
.achievements-profile-txt01 {
	width: 100%;
}
.achievements-profile-img01 {
	width: 80%;
	margin: 0 auto 30px;
}
.achievements-profile-img01 img {
	border-radius: 20px;
}
.achievements-books-list > li {
	margin-top: 30px;
	padding-bottom: 30px;
}
.achievements-books-img01 {
	width: 160px;
	margin: 0 auto 20px;
}
.achievements-voice {
	margin-top: 40px;
	padding: 20px;
	border-radius: 20px 0 20px 0;
}
.achievements-voice::before {
	border-radius: 20px 0 20px 0;
}
}



/*　　お問い合わせフォーム
-------------------------------------------------------*/
.privacy-box {
	width: 100%;
	height: 200px;
  padding: 10px;
  border: 1px solid #ccc;
}
.icon-required {
	display: inline-block;
	font-size: 12px; font-size: 1.2rem;
  font-weight: 400;
	line-height: 1.5;
	margin-right: 10px;
	padding: 2px 8px 2px;
	background-color: #cf1126;
	color: #fff;
	vertical-align:middle;
	border-radius: 3px;
}
.form-initialize {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
}
.contactForm {
}
.contactForm th,
.contactForm td {
	font-size: 1.6rem;
}
.confirm-box .confirm-text {
	display: none;
}
.contactForm input {
	padding: 10px;
	font-size: 1.6rem;
	vertical-align:middle;
	border: 1px solid #ccc;
}
.required-bgcolor {
	background-color: #fff7f7;
}
.contactForm input[type="radio"] {
	vertical-align: baseline;
}
.contactForm input[type="file"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border: 0;
	padding: 0;
}
.contactForm .select-menu {
	height: 40px;
	font-size: 1.6rem;
	line-height:1.6;
	padding: 3px;
	border: 1px solid #ccc;
	background: #fff;
}
.contactForm textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  padding: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px; font-size: 1.6rem;
  border: 1px solid #ccc;
	border-radius: 0;
}
.contactForm .label-check {
	display: inline-block;
	cursor: pointer;
}
.contactForm .btn-box {
	padding-top: 50px;
	text-align: center;
}
.contactForm .btn-send {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	font-size: 2.4rem;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	padding: 22px;
	width: 720px;
	margin: 20px auto 0;
	cursor: pointer;
	color: #fff;
	border: 0;
	border-radius: 12px;
	background: url("../images/common/arrow_01.png"), linear-gradient(to right, #3fb9ff, #4b82ff);
	background-repeat: no-repeat, no-repeat;
	background-position: right 12px center, center;
	background-size: 6px auto, 100%;
	transition-duration: 0.2s;
}
.contactForm .btn-send:hover {
  color: #fff;
	background: url("../images/common/arrow_01.png"), linear-gradient(to right, #3fd4ff, #4ba0ff);
	background-repeat: no-repeat, no-repeat;
	background-position: right 12px center, center;
	background-size: 6px auto, 100%;
	transform: scale(1.05);
}
.contactForm .btn-modify {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	font-weight: 700;
	font-size: 2.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	padding: 22px;
	width: 720px;
	margin: 30px auto 0;
	cursor: pointer;
	color: #fff;
	border: 0;
	border-radius: 12px;
	background-color: #444;
	transition-duration: 0.2s;
}
.contactForm .btn-modify:hover {
  color: #fff;
	background-color: #999;
	transform: scale(1.05);
}
#form-error-message {
	padding: 20px;
	font-weight: bold;
	color: #fff;
	background: #cc0000;
	text-align: center;
	margin: 20px 0;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.contactForm .btn-box {
	padding-top: 20px;
}
.contactForm .btn-send,
.contactForm .btn-modify {
	width: 70%;
	padding: 20px;
	font-size: 1.6rem;
}
}

@media screen and (max-width: 767px){
.privacy-box {
  padding: 10px;
}
.contactForm .btn-box {
	padding-top: 10px;
}
.contactForm .btn-send {
	padding: 20px;
	width: 90%;
	font-size: 1.6rem;
}
.contactForm .btn-modify {
	padding: 20px;
	width: 90%;
	font-size: 1.6rem;
}
}



/*　ページャー
-------------------------------------------------------*/
.pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  display: block;
  padding: 10px 18px;
  margin-right: 8px;
  margin-top: 10px;
  line-height: 1.4;
  font-family: 'Barlow', sans-serif;
  color: #333;
  text-decoration: none;
	border-radius: 8px;
  background: #e9edf0;
  transition-duration: 0.2s;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 3;
  color: #fff;
  background: #999;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #fff;
  cursor: default;
  font-weight: bold;
  background: #444;
}

@media screen and (min-width: 768px) and (max-width: 1270px){
.pagination {
}
.pagination > li > a,
.pagination > li > span {
  padding: 6px 12px;
}
}

@media screen and (max-width: 767px){
.pagination {
}
.pagination > li > a,
.pagination > li > span {
  padding: 6px 12px;
}
}
