@charset "utf-8";

body {
    width: 100%;
    color: #303030;
    font-size: 16px;
    overflow-x: hidden;
   color: #333333;
  font-family: 'Noto Sans JP', sans-serif;
}
.bdR {
	border-radius:20px; 
}
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}
.carousel-indicators .active {
    border-radius: 0%;
}
.cursol-pointer.indicator.active>.coverPoint {
     background: #DBC5B0;
}
.carousel-indicators {
    bottom: -10px;
    /* max-width: 84px; */
    width: 100%;
    justify-content: space-between;
    margin: 0 auto;
    position: relative;
    /* left: -5px; */
}
.cursol-pointer.indicator {
        padding: 0 5px;
}
.coverPoint {
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #F0F3F5;
}

.scrollTxt {
    writing-mode: vertical-lr;
}
.pageTop {
    z-index: 99999;
    max-width: 55px;
    width: 100%;
}
.pageTop>img {
    width: 100%;
  max-width: 55px;
}
.pdf{
    max-width: 160px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px 8px 10px;
    position: relative;
    border: 1px solid rgb(51 51 51);
    color: #333;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.pdf:hover {
    background: rgb(51 51 51);
    color: #fff;
}
.cmnMsk01 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgb(0 0 0 / 25%);
    transition: .5s;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
}
.rendering-auto{
    image-rendering: auto !important;
}

/*-- ヘッダー--------------------------------------------------------------*/
.header {
    z-index: 9999999;
}
/*-- top--------------------------------------------------------------*/
.topAr02 {
    /* display: grid; */
    /* grid-template-columns: 1fr; */
    /* gap: 30px 20px; */
}
.topWr06:after {
    width: 100%;
    height: 100%;
    background: rgb(215 1 21 / 85%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.topWr02ArLink:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgb(51 51 51 / 80%);
    outline: 1px solid white;
    outline-offset: -8px;
    transition: .5s;
}
.topWr02ArLink:hover:after {
    opacity: 0.5;
    transition: .5s;
}
.topWr03ArBg {
	clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
}
.topCovTit01 span:nth-child(n+1) {
	position: relative;
}
.topCovTit01 span:nth-child(n+1):after {
  content: "・";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  font-size:24px;
  margin:auto;
}
.topCovTit01 span:last-child {
    font-size: 16px;
}
.topCovTit01 span:last-child:after {
    font-size: 16px;
  content:"";
}
.topCovTxtWr {
    box-shadow: 4px 4px 0 rgb(0 0 0 / 16%);
}
.topCovTxtWr:after {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 1px solid #FFFFFF;
    top: 5px;
    left: 5px;
    content: "";
}
/*-- フッター--------------------------------------------------------------*/

/*-- 共通--------------------------------------------------------------*/
.topMap>div {
    width: 100%;
    height: 100%;
}

.topMap>div>iframe {
    width: 100%;
    height: 100%;
}

.italic {
  font-style: italic;
}
.fontA {
  font-family: 'Noto Sans JP', sans-serif;
}
.fontB {
  font-family: 'Lora', serif;
}
.mt-20 {
    margin-top: 15px!important;
}
.mt-40 {
    margin-top: 20px!important;
}
.mt-30 {
    margin-top: 15px!important;
}
.mt-50 {
    margin-top: 30px!important;
}
.mt-60 {
    margin-top: 40px!important;
}
.mt-70 {
    margin-top: 50px!important;
}
.mt-80 {
    margin-top: 60px!important;
}
.mt-110 {
    margin-top: 80px!important;
}
.color01 {
	color: #333!important;
}
.black {
	color: #000000;
}

.white {
	color: #fff!important;
}
.tit01 {
    font-size: 24px;
    letter-spacing: 0.1em;
    color: #D70115;
    font-weight: 700;
  margin: 10px 0 0 0;
}
.tit02 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.2em;
}
.txt01{
    font-size: 14px;
    font-weight: 500;
    line-height: 2em;
    letter-spacing: 0.1em;
    font-family: 'Noto Sans JP', sans-serif;
}
.subTit01 {
    position: relative;
    font-size: 18px;
    letter-spacing: 0.1em;
  font-family: 'Lora', serif;
}

/*-- ボタン--------------------------------------------------------------*/
.btn01 {
  padding: 16px 10px 15px;
  display: flex;
  color: #333;
  font-weight: 700;
  letter-spacing: 0.15em;
  position: relative;
  font-size: 13px;
  background: #fff;
  border: 1px solid #707070;
  max-width: 256px;
  width: 100%;
  justify-content: center;
  align-items: center;
  transition: .5s;
  position: relative;
  }
.btn01:hover img {
    filter: invert(100%) sepia(0%) saturate(7482%) hue-rotate(72deg) brightness(99%) contrast(99%);
}

.btn01:hover {
    background: #333;
    color: #fff;
    transition: .5s;
}
.btn01:after {
    content: "";
    width: 16px;
    height: 16px;
    background: url(https://ashellconsulting.com/system_panel/uploads/images/btn_arrow.svg)  center no-repeat;;;;;;;
    background-size: cover;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
}
.btn01:hover:after{
    filter: invert(100%) sepia(0%) saturate(7482%) hue-rotate(72deg) brightness(99%) contrast(99%);
}
.btn01Icon {
    max-width: 11.5px;
    width: 100%;
    margin: 0 7px 0 0;
}

.btn01In {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
}
/*============
nav
=============*/
.navIn {
    max-width: 650px;
    width: 100%;
}

.navLinkIn {
    display: flex;
    /* flex-wrap: wrap; */
    max-width: 256px;
    margin: auto;
}

.hamBx {
    max-width: 60px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    z-index: 999999999;
    background: #fff;
    padding: 18px 10px 18px;
}
.toggle_btn {
    position: relative;
    width: 100%;
    height: 22px;
    transition: all .5s;
    cursor: pointer;
    z-index: 999999999;
    color: #fff;
    font-weight: bold;
    max-width: 30px;
}
.toggle_btnIn {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
}

.toggle_btnIn div {
	display: block;
	position: absolute;
	right: 0;
	height: 2px;
	background-color: #333;
	transition: all .5s;
}

.toggle_btnIn div:nth-child(1) {
	top: 0%;
	width: 100%;
}

.toggle_btnIn div:nth-child(2) {
	top: 44%;
	max-width: 38px;
	margin: 0 0 0 auto;
	width: 100%;
}

.toggle_btnIn .hamBd:nth-child(3) {
	bottom: 0%;
	width: 100%;
	margin: 0 0 0 auto;
	max-width: 28.8px;
}

.hamBx.open .hamBd:nth-child(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
	/* background: #fff; */
	top: 0;
}

.hamBx.open .hamBd:nth-child(3) {
	opacity: 0;
}

.hamBx.open div:nth-child(2) {
	-webkit-transform: translateY(10px) rotate(315deg);
	transform: translateY(10px) rotate(315deg);
	/* background: #fff; */
	top: 0;
	width:100%;
	max-width: 100%;
}

.navConte {
	display: flex;
	position: fixed;
	top: 0;
	width: 300px;
	background: #fff;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: 3;
	opacity: 0;
	height: 100vh;
	top: -1000px;
	width: 100%;
}

.open .navConte {
	top: 0;
	opacity: 1;
	z-index: 9999;
	position: fixed;
	right: 0;
	left: 0;
	width: 100%;
}
.navConte .navBx {
    /* padding: 25px 0 0 85px; */
    width: 50%;
    /* background: #DDDDDD; */
/* display: flex; *//* align-items: center; *//* justify-content: center; */}

.navConte .navBx .navIt {
	list-style: none;
	margin: 200px 0 0;
	padding: 0;
}

.navConte .navBx .navIt .navPt {
	position: relative;
	margin: auto;
	max-width: 600px;
	width: 100%;
	/* text-align: center; */
	flex-wrap: wrap;
	/* display: flex; */
	padding: 0 15px;
}

.navConte .navBx .navIt .navPt .navPtLink {
	display: block;
	font-size: 14px;
	font-weight: 500;
	/* padding: 10px 5px; */
	text-decoration: none;
	transition-duration: 0.2s;
	/* color: #1A1311; */
	width: 100%;
	margin: 40px 0 0 0px;
	letter-spacing: 0.2em;
	}

.navConte .navBx .navIt .navPt .navPtLink:hover {
	/* color: #fff; */
	opacity: .7;
}

.navArea {
	position: absolute;
    top: -1000px;
    right: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
      z-index: 99999;
}

.navBgImg {
    width: 50%;
    height: 100%;
    background: url(https://ashellconsulting.com/system_panel/uploads/images/hum_bg01.jpg)no-repeat center;
    background-size: cover;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:375px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
.btn01 {
  font-size: 14px;
  }
  .tit01 {
}
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:544px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
.topCovTxtWr {
  position: absolute!important;
    z-index: 99;
    top: 50%;
    transform: translateY(-50%);
      box-shadow: 4px 4px 0 rgb(0 0 0 / 16%);
  right:0;
  left:0;
  
    margin: 0px auto 0 auto!important;
}
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
.tit01 {
    font-size: 42px;
}
.tit02 {
    font-size: 28px;
}
.subTit01 {
    font-size: 32px;
}
.txt01{
    font-size: 16px;
}
/*-- ヘッダー　--------------------------------------------------------------*/

.mt-20 {
    margin-top: 20px!important;
}
.mt-40 {
    margin-top: 40px!important;
}
.mt-30 {
    margin-top: 30px!important;
}
.mt-50 {
    margin-top: 50px!important;
}
.mt-60 {
    margin-top: 60px!important;
}
.mt-70 {
    margin-top: 70px!important;
}
.mt-80 {
    margin-top: 80px!important;
}
.mt-110 {
    margin-top: 110px!important;
}
/*-- フッター　--------------------------------------------------------------*/

/*-- top　--------------------------------------------------------------*/  
.topAr02 {
    /* display: grid; */
    /* grid-template-columns: 1fr 1fr 1fr; */
    /* gap: 80px 40px; */
}
.topWr03ArBg {
	clip-path: polygon(0 0, 100% 28%, 100% 100%, 0 72%);
}
.topCovTxtWr {
  right:auto;
  left:5%;
  box-shadow: 16px 16px 0 rgb(0 0 0 / 16%);
}
.topCovTxtWr:after {
    border: 2px solid #FFFFFF;
    top: 16px;
    left: 16px;
}
.topCovTit01 span:last-child {
    font-size: 24px;
}
.topCovTit01 span:nth-child(n+1):after {
  font-size:30px;
}
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:992px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 992px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*-- ヘッダー　--------------------------------------------------------------*/

/*-- トップ　--------------------------------------------------------------*/
.tit01 {
    font-size: 48px;
}
.tit02 {
    font-size: 32px;
}
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1200px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/*-- ヘッダー　--------------------------------------------------------------*/
.hTelTxt {
    font-size: 14px!important;
}
.hNum {
    font-size: 24px!important;
}
.hamBx {
    max-width: 80px;
    padding: 28px 10px 28px;
}
/*-- トップ　--------------------------------------------------------------*/  
.topCovTxtWr {
    max-width: 568px!important;
    padding: 72px 15px 72px 15px!important;
}
.topCovTit01 {
    font-size: 40px!important;
    margin: 24px 0 0 0!important;
}
.topCovTxt {
    line-height: 2em!important;
    font-size: 32px!important;
}
.topCovTit01 span:last-child {
    font-size: 32px;
}
.topWr01 {
    padding: 240px 15px 170px 15px!important;
}
.topAr01In02 {
    margin: 160px 0 0 0!important;
}
.topCovBg {
    max-width: 1151px!important;
    height: 1400px!important;
}
/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1400px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*-- ヘッダー　--------------------------------------------------------------*/

/*--トップ　--------------------------------------------------------------*/

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1400px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1500px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1500px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1600px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1600px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1800px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
.header {
    padding: 0 0 0 40px!important;
}
.topCovTxtWr {
    left: 120px;
}
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1800px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */