@charset "utf-8";

body{
    font-family: 'Noto Sans JP', Hiragino Sans, Meiryo, sans-serif;
	color: #333;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
}

@media screen and (max-width:768px) {
body{
	font-size:0.8rem;
	}
}

*{box-sizing: border-box;}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #333;
	text-decoration: none;
    outline: none;
	cursor: pointer;
}

a:hover {
	opacity: 0.7;	
}

img{
    width: 100%;
    height: auto;
}

/* font-family */

#splash-logo,
.top-lead,
h1,
h2,
h3 span,
#g-nav,
#pc-nav,
.openbtn,
#footer{
    font-family: 'Noto Sans JP', Hiragino Sans, Meiryo, sans-serif;
    letter-spacing: 0.1em;
}

/* splash */

#splash-logo{
    font-size: 1.2rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #333;
	font-weight: bold;
}

/* g-nav */

#g-nav.panelactive li:last-child a{
    margin: 0px 0 0 0;
    padding: 10px 20px;
    white-space: nowrap;
}

/*pc-nav*/

#pc-nav span.bgLRextend::before{
    background:#333;
}


@media screen and (max-width:990px) {
    #pc-nav{
        display: none;
    }
}

/* heading */

h1{
    text-transform: uppercase;
    font-size: 1.4rem;
    position: absolute;
    top: 40%;
    left: 5%;
    line-height: 1;
    letter-spacing: 0.2em;
}

@media screen and (max-width:990px) {
	
	h1 {
		font-size: 1.2rem;
	}
	
}

@media screen and (max-width:768px) {
	
	h1 {
		left: 10%;
	}
	
}

@media screen and (max-width:550px) {
    h1{
        font-size:1.0rem;
        top: 33%;
		left: 12%;
    }
}


h1 a{
    color:#3f598f;
	position: relative;
}

h1 a:before{
	content: "";
	background:url("../img/logo.png") no-repeat center;
    background-size: contain;
	position: absolute;
	width: 25px;
	height: 53.5px;
	left: -40px;
    bottom: -10px;
}

h2{
    text-transform: uppercase;
    font-size: 3rem;
}

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

  h2{
      font-size:2rem;
    }
}

@media screen and (max-width:550px) {
	
	h1 a:before {
		width: 20px;
		height: 42.8px;
		left: -35px;
		bottom: -10px;
	}
}

nav#pc-nav {
    display: flex;
    align-items: center;
}



@media screen and (max-width:1100px) {
	
	nav#pc-nav {
		display: none;	
	}
	
}

@media screen and (max-width:768px) {
	
	.slick-slide img {
		display: block;
		object-fit: cover;
		height: 50vh !important;
	}
	
}


/* main-area */

#main-area{
    width:100%;
    margin:0 auto;
    padding: 0px 0 0px; 
}

/* topics */

#topics{
    border-left:3px solid #000;
    padding: 0 0 0 20px;
}

@media screen and (max-width:768px) {
    #topics{
        margin:0 0 100px 0;
}
}

#topics h2{
    font-size: 1.5rem;
}

#topics h2 span.bgLRextend::before{
    background:#333;
}

.bx-wrapper{
    box-shadow:none;
    border:none;
}




#header h1 span.bgLRextend::before{
    background:#333;
}


#splash-logo .bgLRextend::before{
    background:#333;
}



/* about */

#about{
    margin: 0 0 200px 0;
}

@media screen and (max-width:768px) {
#about{
    margin: 0 0 100px 0;
}
    
}

#about h2{
    text-align: center;
    color:#f8af46;
    margin:0 0 100px 0;
}

.otherPageWrapper #about h2 {
    margin: 0 0 40px 0;
}

.centerDescription {
	padding: 60px 0 0px;
	text-align: center;
}

.centerDescription__text {
	line-height: 2;
}

@media screen and (max-width:550px) {
#about h2{
    margin:0 0 50px 0;
    }
}

#about .about-list{
   width: 96%;
    max-width: 900px;
    margin: 0 auto;
}

#about .about-list li{
    border-bottom: 1px solid #ccc;
    margin:0 0 15px 0;
    padding: 0 0 15px 0;
}

#about .about-list dl{
    display: flex;
    justify-content: space-between;
}

.otherPageWrapper #about .about-list dl{
    display: flex;
    justify-content: flex-start;
    padding: 0 0 0 20px;
}

#about .about-list dt{
    width:30%;
    padding: 0 0 0 40px;
}

.otherPageWrapper #about .vision-lead {
    position: relative;
    color: #f8af46;
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0 0 120px 0;
    text-align: center;
}

.otherPageWrapper #about .vision-lead::after {
    content: '';
    position: absolute;
    bottom: -30px;
    background: #f8af46;
    width: 10em;
    height: 3px;
	left: 50%;
  	transform: translateY(0%) translateX(-50%);
  	-webkit- transform: translateY(-0%) translateX(-50%);
}

@media screen and (max-width:590px) {

#about .about-list dt{
     padding:0 0 0 10px; 
    }
}

#about .about-list dd{
    width:65%;
}



/* contact */

#contact{
    margin:0 0 100px 0;
}

#contact h2{
    text-align: center;
    margin:0 0 100px 0;
    color: #f8af46;
}

@media screen and (max-width:550px) {
 #contact h2{
     margin:0 0 50px 0;
    }
}


#contact input , button , textarea , select {
	margin:0;
	padding:0;
	border:none;
	outline:none;
	background:none;
    font-size: 16px;
}

#contact .form-list input[type='text'] , 
#contact .form-list input[type='email'] , 
#contact .form-list textarea{
	width:100%;
	border:1px solid #666;
	background:#fff;
	padding: 10px;
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
}

#contact .form-list input[type='text'] , input[type='email'] {
	height:50px;
}

#contact .submit-btn{
    width:152px;
    margin: 0 auto;
}

#contact input[type='submit']{
   border:2px solid #333;
    color: #333;
    text-align: center;
    padding: 5px 20px;
    width:152px;
    margin: 0 auto;
    transition: all .3s;
}

#contact input[type='submit']:hover{
    background: #333;
    color: #fff;
} 

#contact .form-list dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	padding:0 0 20px 0;
}

#contact .form-list dt{
    width:30%;
}

#contact .form-list dd{
    width:66%;
}

#contact .form-list textarea {
	height:200px;
}

@media screen and (max-width:768px) {
#contact .form-list dt{
	margin:0 0 10px 0;
}
#contact .form-list dt,
#contact .form-list dd{
    width:100%;
}
	
}

/* footerImgArea */

.footerImgArea {
	
}

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


/* footer */

#footer{
    padding: 60px 0;
    text-align: center;
    background: #f8af46;
    position: relative;
    text-transform: uppercase;
}

#footer .footer-logo{
    font-weight: bold;
    letter-spacing: 0.3em;
    margin: 0 0 50px 0;
    color: #666;
}

#footer p.copyrights{
    color: #333;
    font-size: 10px;
    text-transform: none;
	width: fit-content;
    margin: 0 auto;
}

.footMenuListArea {
	
}

.footMenuListArea ul {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1200px;
    margin: 0 auto;
    padding: 0 0 40px;
}

.footMenuListArea ul li {
	width: calc(100% / 4);
}

.footMenuListArea ul li a {
	font-size: 15px;	
}

#footer .bgLRextend::before {
    background: #333;
}


@media screen and (max-width:1250px) {

	.footMenuListArea ul {
		width: 100%;	
	}

}

@media screen and (max-width:768px) {
	
	.footerImgArea img {
		display: none;
	}
	
	.footMenuListArea {
		padding: 50px 20px 0;
		position: relative;
	}
	
	.footMenuListArea ul {
		display: block;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		text-align: left;
		padding: 0 0px 0px;
		background: #fff;
		postion: relative;
	}
	
	.footMenuListArea ul:before {
		content: '';
		width: -webkit-fill-available;
		border-bottom: 1px solid #fff;
		top: 0px;
		left: 0px;
		position: absolute;
		margin: 0 20px;
	}
	
	.footMenuListArea ul li {
		width: 100%;
		padding: 15px 30px;
		border-bottom: 1px solid #f8af46;
	}
	
	.footMenuListArea ul li a {
		font-size: 14px;
	}
	
	#footer p.copyrights {
		color: #333;
		font-size: 10px;
		text-transform: none;
		width: fit-content;
		margin: 0 auto;
		padding: 50px 0 0;
	}
	
}



















.spinner {
	--uib-size: 40px;
	--uib-color: black;
	--uib-speed: .9s;
	--uib-stroke: 5px;
	--mask-size: calc(var(--uib-size) / 2 - var(--uib-stroke));
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--uib-size);
	width: var(--uib-size);
	-webkit-mask: radial-gradient(
	  circle var(--mask-size),
	  transparent 99%,
	  #000 100%	);
	mask: radial-gradient(circle var(--mask-size), transparent 99%, #000 100%);
	background-image: conic-gradient(transparent 25%, var(--uib-color));
	animation: spin calc(var(--uib-speed)) linear infinite;
	border-radius: 50%;
	left: 40%;
	margin: 10px 0 0;
}

.loadingTxt {
	text-align: center;
	color: #333;
	z-index:999;
	font-size: 12px;
}

@keyframes spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
}


#header {
    background: #F8F7F3;
}

.headMainArea {
	display: flex;
	padding: 0 0 60px;
}

.headMainArea__left {
	position: relative;	
	width: calc(100% / 6);
    text-align: center;
}

.headMainArea__left h1 {
    position: static;
    padding: 0 0 80px;
}

.headMainArea__left h1 img {
	width:fit-content;	
}

.headMainArea__left #pc-nav {
	display: block;
}

.headMainArea__left #pc-nav ul {
    list-style: none;
    display: inline-block;
    text-transform: uppercase;
    margin: 0 0 0 0;
    text-align: left;
}

.headMainArea__left ul {
	
}

.headMainArea__left ul .pcLeftNavList {
    padding: 5px 0;
}

.headMainArea__left ul .pcLeftNavList--top {
	display: none;	
}

.headMainArea__left ul .pcLeftNavList a {
	position: relative;
  	padding: 0.5em 0;
}

.headMainArea__left ul .pcLeftNavList a:hover:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: repeating-linear-gradient(-45deg, #f8af46, #f8af46 2px, white 2px, white 4px);
}

.headMainArea__left__ {
    display: flex;
    justify-content: center;
    height: 100%;
}

.headMainArea__left__up {
    display: flex;
    flex-direction: column;
    justify-content: center;
	height: calc((100% / 4) * 3);
	height: 70vh;
	width: 100%;
    background: #fff;
}

.headMainArea__left__bottom {
	height: calc(100% / 4);
}

.headeScrollLine {
	position: absolute;
	bottom: 50px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.headeScrollLine__text {
	position: relative;	
	writing-mode: vertical-rl;
}

.headeScrollLine__text:before {
    border-left: 1px solid #eaeaea;
    content: "";
    height: 210px;
    position: absolute;
    left: 0px;
    top: 0px;
}

.headeScrollLine__text:after {
    border-left: 1px solid #f8af46;
    content: "";
    height: 50px;
    position: absolute;
    left: 0px;
    top: 171px;
}

.headMainArea__right {
	position: relative;	
	width: calc((100% / 6) * 5);
}

.headMainArea__right > img {
    aspect-ratio: 16 / 9;
}

.upHeaderContactArea {
	position: fixed;
    top: 0px;
    right: 0px;
    background: #fff;
    border-radius: 0 0 0 20px;
    padding: 15px 30px;
    z-index: 5;
}

.upHeaderContactArea__ {
	display: flex;
    align-items: center;
}

.upHeaderContactArea__left {
	padding: 0 20px 0 0;
}

.upHeaderContactArea__left__title {
	font-size: 14px;
}

.upHeaderContactArea__left__info {
	font-size: 20px;
	font-weight: bold;
    line-height: 10px;
}

.upHeaderContactArea__left__info .fa {
	font-size: 20px;
	color: #f8af46;
	padding: 0 5px 0 0;
}

.upHeaderContactArea__left__info span {
	font-size: 12px;
	font-weight: normal;
	padding: 0 0 0 5px;
}

.upHeaderContactArea__right {
	
}

.upHeaderContactArea__right a {
	background: #f8af46;
    color: #fff;
    text-decoration: none;
    padding: 10px 25px;
    border-radius: 40px;
    display: block;
    font-size: 14px;
}

.bottomHeaderCopy {
	position: absolute;	
	bottom: -12px;
	right: 30px;
}

.bottomHeaderCopy__top {
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 4.5px;
}

.bottomHeaderCopy__bottom {
	font-size: 60px;
	font-weight: bold;
	letter-spacing: 4.5px;
	line-height: 52px;
}

.topNewsArea {
	width: 100%;
	position: relative;
}

.topNewsInner {
	width: 1200px;
	margin: 0 auto;
	padding: 30px 60px;
}

.topNewsInner__list {
	display: flex;
	padding: 20px 0;
    align-items: center;
}

.topNewsInner__list__news {
	color: #f8af46;
}

.topNewsInner__list__date {
	padding: 0 30px;
	color: #ddd;
}

.topNewsInner__list__text {
		
}

.messageInfoArea {
	width: 100%;
	position: relative;
}

.messageInfoInner {
	width: 1200px;
	margin: 0 auto;
	padding: 60px 50px;
	background: #fcf5ed;
	border-radius: 40px;
	display: flex;
    align-items: center;
	position: relative;
    z-index: 2;
}

.messageInfoInner:after {
	content: "";
    background-image: url(../img/logo_bg_middle.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right top;
    width: 300px;
    height: 180px;
    position: absolute;
    top: 30px;
    right: 60px;
    z-index: -1;
    filter: brightness(0) invert(1);
}

.messageInfoInner__left {
	width: calc((100% / 5) * 2);
}

.messageInfoInner__left img {
	width: 100%;	
}

.messageInfoInner__right {
	width: calc((100% / 5) * 3);
	padding: 0 0 0 50px;
}

h2.messageInfoInner__right__midashi {
    padding: 20px 0;
    font-size: 28px;
    line-height: 40px;
}

.messageInfoInner__right__text {
    font-size: 16px;
    line-height: 36px;
}

.messageInfoInner__right__title {
    color: #f8af46;
    font-weight: bold;
    letter-spacing: 2px;
}

.messageInfoInner__right__link {
    margin: 50px 0 0;
}

.messageInfoInner__right__link a {
	background: #f8af46;
	color: #fff;
	border-radius: 40px;
	padding: 20px 70px;
	text-decoration: none;
	position: relative;
    letter-spacing: 1.3px;
}

.messageInfoInner__right__link a:before {
	content: "\f061";
	position: absolute;
	top: 18px;
	right: 30px;
	color: #fff;
	font-family: fontAwesome;
}

.businessInfoArea {
	width: 100%;
	position: relative;
	padding: 50px 0 60px;
}

.businessInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.businessInfoInner__title {
	font-size: 28px;
	text-align: center;
    padding: 40px 0 40px;
}

.businessInfoInner__title p {
	color: #f8af46;
	font-size: 16px;
}

.businessInfoInner__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.businessInfoInner__list__item {
	width: calc((100% / 2) - 20px);	
	text-align: center;
	padding: 0 0 20px;
}

.businessInfoInner__list__item img {
	width: 100%;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    border-radius: 30px;	
}

.businessInfoInner__list__item p {
	text-align: center;
    padding: 10px 0;
    font-weight: 500;
}

.businessInfoArea .messageInfoInner__right__link {
    margin: 30px auto 30px;
    text-align: center;
}

.businessInfoArea .messageInfoInner__right__link a {
	padding: 20px 90px;	
}


.footerBgArea {
	width: 100%;
	position: relative;
	padding: 50px 0 0px;
}

.footerBgInner {
	position: relative;
}

.footerBgInner img {
	width: 100%;	
    vertical-align: middle;
}


.contactInfoArea {
	width: 100%;
	position: relative;
	padding: 60px 0 60px;
	background: #fcf5ed;
}

.contactInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
	display: flex;
    align-items: center;
}

.contactInfoInner__left {
	width: calc((100% / 5) * 2);
	padding: 0 50px 0 0;
}

.contactInfoInner__left__title {
	color: #f8af46;
	font-size: 16px;
}

.contactInfoInner__left__midashi {
	font-size: 28px;
    padding: 15px 0 15px;
	font-weight: 600;
    line-height: 46px;
}

.contactInfoInner__left p {
	font-size: 14px;
	font-weight: 500;
}

.contactInfoInner__right {
	width: calc((100% / 5) * 3);
	background: #fff;
	padding: 30px 60px 40px;
	border-radius: 40px;
}

.contactInfoInner__right__ {
    display: flex;
    align-items: center;
    justify-content: center;
}

.contactInfoInner__right__tel {
	font-size: 40px;
	font-weight: bold;
    letter-spacing: 1.2px;
}

.contactInfoInner__right__tel .fa {
	color: #f8af46;
	padding: 0 10px 0 0;
}

.contactInfoInner__right__time {
	font-size: 12px;
	font-weight: normal;
	padding: 5px 0 0 10px;
}

.contactInfoInner__right .upHeaderContactArea__right {
	width: 100%;	
	margin: 5px 0 0;
}

.contactInfoInner__right .upHeaderContactArea__right a{
    text-align: center;
    letter-spacing: 1.3px;
}


.footerInfoArea {
	width: 100%;
	position: relative;
	padding: 70px 0 50px;
	background: #fff;
}

.footerInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.footerInfoInner__logo {
	text-align: center;	
}

.footerInfoInner__logo img {
	width: max-content;	
}

.footerInfoInner__menuList {
    padding: 30px 0;
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
}

.footerInfoInner__menuList a {
	padding: 0 20px;
	font-size: 14px;
	font-weight: 500;
}

.footerInfoInner__copyright {
	font-size: 11px;
	color: #ddd;
	text-align: center;
}

#menu-btn-check {
	display: none;	
}

.otherPageWrapper .headeScrollLine {
	display: none;	
}

.otherPageWrapper .headMainArea__left {	
	display: none;	
}

.otherPageWrapper .headMainArea__right {
    position: fixed;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 10px 20px 10px 20px;
	z-index: 80;
}

.headMainInfoArea {
	display: flex;	
	align-items: center;
	justify-content: center;
}

.headMainInfoArea__logo {
	padding: 0 30px 0 0;
}

.headMainInfoArea__logo img {
	width: 180px;
}

.headMainInfoArea__list {
	display: flex;	
}

.headMainInfoArea__list li {
	padding: 0 20px;	
}

.headMainInfoArea__list li a {
	font-size: 14px;	
	position: relative;
    padding: 0.5em 0;
}

.headMainInfoArea__list li a:hover {
    color: #f8af46;
}

.headMainInfoArea__list li a:hover:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5px;
    background: repeating-linear-gradient(-45deg, #f8af46, #f8af46 2px, white 2px, white 4px);
}

.otherPageWrapper .headMainArea__right .upHeaderContactArea {
    position: static;
    top: 0px;
    right: 0px;
    background: #fff;
    border-radius: 0 0 0 20px;
    padding: 15px 0px;
    z-index: 5;
}

.pankuzuPageTitle {
    padding: 50px 0 0;
    width: 100%;
	position: relative;
	background: linear-gradient(180deg, #fff 0%, #fff 55%, #f8f7f4 55%, #f8f7f4 100%);
}

.pankuzuPageTitleInner {
    width: 1200px;
    margin: 0 auto;
    position: relative;
}

.pankuzuPageTitleInner__title {
    display: flex;
    align-items: center;
    padding: 10px 50px 30px;
}

.pankuzuPageTitleInner__title__main {
	font-size: 40px;
}

.pankuzuPageTitleInner__title__sub {
    color: #f8af46;
    font-size: 16px;
    padding: 3px 0 0 10px;
}

.pankuzuPageTitleInner ul {
	display: flex;
	padding: 20px 50px 30px;
}

.pankuzuPageTitleInner ul li {
	font-size: 14px;	
	padding: 0 20px 0 0px;
}

.pankuzuPageTitleInner ul li .fa {
	color: #f8af46;
}

.pankuzuPageTitleInner ul li:last-child {
	padding: 0 0px 0 0px;
}

.missionInfoArea {
	width: 100%;
	position: relative;
}

.missionInfoInner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 0;
	letter-spacing: 1.5px;
}

.missionInfoInner__img {
	width: calc((100% / 11) * 5);
}

.missionInfoInner__img img {
		
}

.missionInfoInner__detail {
	width: calc((100% / 11) * 6);
	padding: 0 80px 0 70px;
	position: relative;
}

.missionInfoInner__detail__title {
	color: #f8af46;
    font-size: 16px;
}

.missionInfoInner__detail__copy {
	font-size: 28px;
    padding: 20px 0 20px;
    font-weight: 600;
    line-height: 46px;	
}

.missionInfoInner__detail__text {
    font-size: 14px;
    font-weight: 500;
}

.missionInfoInner__detail:after {
    content: "";
    background-image: url(../img/logo_bg_middle.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right top;
    width: 300px;
    height: 180px;
    position: absolute;
    top: -60px;
    right: 70px;
    z-index: -1;
}

.importantInfoArea {
	width: 100%;
	position: relative;
	padding: 80px 0 70px;
	background: #fcf5ed;
}

.importantInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.importantInfoInner__title {
	font-size: 28px;
	letter-spacing: 1.5px;
	text-align: center;
}

.importantInfoInner__title p {
	color: #f8af46;
	font-size: 16px;
}

.importantInfoInner__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding: 40px 0 0;
}

.importantInfoInner__list__item {
    width: calc((100% / 4) - 20px);
    text-align: center;
    background: #fff;
    border-radius: 50%;
    padding: 50px 30px 0px;
    aspect-ratio: 1 / 1;
}

.importantInfoInner__list__item:first-child {
	padding: 75px 30px 0;	
}

.importantInfoInner__list__item img {
	width: max-content;
}

.importantInfoInner__list__item p {
	font-size: 18px;
	font-weight: 500;
    line-height: 28px;
}

.importantInfoInner__text {
	text-align: center;
	padding: 30px 0 10px;
}

.featureInfoArea {
	width: 100%;
	position: relative;
	padding: 80px 0 70px;
}

.featureInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.featureInfoInner__title {
	font-size: 28px;
	letter-spacing: 1.5px;
	text-align: center;
    padding: 10px 0 40px;
}

.featureInfoInner__title p {
	color: #f8af46;
	font-size: 16px;
}

.featureInfoList {
	background: #f8f7f4;
	border-radius: 50px 10px 10px 50px;
	padding: 20px 30px;
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 0 0 10px;
}

.featureInfoList__left {
	display: flex;	
	width: calc((100% / 11) * 3.5);
    align-items: center;
}

.featureInfoList__left__no {
	color: #f8af46;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 3px;
	position: relative;
	padding: 0 20px 0 0;
}

.featureInfoList__left__no:after {
	content:"";
	position: absolute;
	right: 0px;
	height: 100%;
	border-right: 1px solid #ddd;
}

.featureInfoList__left__title {
	padding: 0 0 0 30px;
	font-size: 18px;
	font-weight: bold;
}

.featureInfoList__right {
	font-size: 14px;	
	width: calc((100% / 11) * 7.5);
    line-height: 22px;
}

.featureInfoInner .messageInfoInner__right__link {
	text-align: center;	
}

.featureInfoInner .messageInfoInner__right__link a {
    background: #f8af46;
    color: #fff;
    border-radius: 40px;
    padding: 20px 90px;
    text-decoration: none;
    position: relative;
    letter-spacing: 1.3px;
}

.spHeaderLogo {
	display: none;	
}

.businessInfoArea {
	width: 100%;
	position: relative;
	padding: 80px 0 70px;
}

.businessInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.businessInfoInner__title {
	font-size: 28px;
	letter-spacing: 1.5px;
	text-align: center;
    padding: 10px 0 30px;
}

.businessInfoInner__text {
	padding: 0 0 40px;
}

.businessInfoInner__link {
	display: flex;	
	justify-content: space-between;
    align-items: center;
	padding: 10px 0 70px;
}

.businessInfoInner__link__item {
	width: calc((100% / 4) - 10px);	
	text-align: center;
}

.businessInfoInner__link__item a {
	position: relative;
	background: #f8af46;
	border-radius: 15px;
	padding: 20px 30px;
	display: block;
	color: #fff;
}

.businessInfoInner__link__item a:after {
	content: "\f107";
	font-family: fontAwesome;
	color: #fff;
	position: absolute;
	right: 20px;
	top: 13px;
	font-size: 24px;
}

.businessItem01 {
	display: flex;
	justify-content: space-between;
    align-items: center;
	padding: 0 0 40px;
    border-bottom: 1px solid #ddd;
}

.businessItem01__img {
	width: calc((100% / 2) - 10px);
}

.businessItem01__detail {
	width: calc((100% / 2) - 10px);
	position: relative;
	padding: 0 10px 0 70px;
}

.businessItem01__detail:before {
	writing-mode: vertical-rl;
	color: #ddd;
	content: "BUSINESS 01";
	position: absolute;
	left: 20px;
	top: 0px;
	font-size: 16px;
	letter-spacing: 2px;
	padding: 5px 0 0;
}

.businessItem01__detail__copy {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.3px;
}

.businessItem01__detail__title {
	font-size: 28px;
	line-height: 40px;
	padding: 10px 0 20px;
	letter-spacing: 1.3px;
}

.businessItem01__detail__text {
	font-size: 14px;
	line-height: 32px;
	letter-spacing: 1.3px;
}

.businessItem01__detail__link {
	width: calc((100% / 3) * 2);
	padding: 20px 0 0;
}

.businessItem01__detail__link a {
	position: relative;	
	color: #f8af46;
	border-bottom: 1px solid #f8af46;
	padding: 10px 0 10px 5px;
    width: -webkit-fill-available;
    display: block;
	font-size: 14px;
	letter-spacing: 1.3px;
}

.businessItem01__detail__link a:after {
	content: "\f107";
	font-family: fontAwesome;
	color: #f8af46;
	position: absolute;
	right: 10px;
	top: 5px;
	font-size: 24px;
}

.businessItem02 {
	display: flex;
	justify-content: space-between;
    align-items: center;
	padding: 40px 0 40px;
    border-bottom: 1px solid #ddd;
}

.businessItem02__img {
	width: calc((100% / 2) - 10px);
}

.businessItem02__detail {
	width: calc((100% / 2) - 10px);
	position: relative;
	padding: 0 10px 0 70px;
}

.businessItem02__detail:before {
	writing-mode: vertical-rl;
	color: #ddd;
	content: "BUSINESS 02";
	position: absolute;
	left: 20px;
	top: 0px;
	font-size: 16px;
	letter-spacing: 2px;
	padding: 5px 0 0;
}

.businessItem02__detail__copy {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.3px;
}

.businessItem02__detail__title {
	font-size: 28px;
	line-height: 40px;
	padding: 10px 0 20px;
	letter-spacing: 1.3px;
}

.businessItem02__detail__text {
	font-size: 14px;
	line-height: 32px;
	letter-spacing: 1.3px;
}

.businessItem02__detail__link {
	width: calc((100% / 3) * 2);
	padding: 20px 0 0;
}

.businessItem02__detail__link a {
	position: relative;	
	color: #f8af46;
	border-bottom: 1px solid #f8af46;
	padding: 10px 0 10px 5px;
    width: -webkit-fill-available;
    display: block;
	font-size: 14px;
	letter-spacing: 1.3px;
}

.businessItem02__detail__link a:after {
	content: "\f107";
	font-family: fontAwesome;
	color: #f8af46;
	position: absolute;
	right: 10px;
	top: 5px;
	font-size: 24px;
}

.businessItem03 {
	display: flex;
	justify-content: space-between;
    align-items: center;
	padding: 40px 0 40px;
    border-bottom: 1px solid #ddd;
}

.businessItem03__img {
	width: calc((100% / 2) - 10px);
}

.businessItem03__detail {
	width: calc((100% / 2) - 10px);
	position: relative;
	padding: 0 10px 0 70px;
}

.businessItem03__detail:before {
	writing-mode: vertical-rl;
	color: #ddd;
	content: "BUSINESS 03";
	position: absolute;
	left: 20px;
	top: 0px;
	font-size: 16px;
	letter-spacing: 2px;
	padding: 5px 0 0;
}

.businessItem03__detail__copy {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.3px;
}

.businessItem03__detail__title {
	font-size: 28px;
	line-height: 40px;
	padding: 10px 0 20px;
	letter-spacing: 1.3px;
}

.businessItem03__detail__text {
	font-size: 14px;
	line-height: 32px;
	letter-spacing: 1.3px;
}

.businessItem03__detail__link {
	width: calc((100% / 3) * 2);
	padding: 20px 0 0;
}

.businessItem03__detail__link a {
	position: relative;	
	color: #f8af46;
	border-bottom: 1px solid #f8af46;
	padding: 10px 0 10px 5px;
    width: -webkit-fill-available;
    display: block;
	font-size: 14px;
	letter-spacing: 1.3px;
}

.businessItem03__detail__link a:after {
	content: "\f107";
	font-family: fontAwesome;
	color: #f8af46;
	position: absolute;
	right: 10px;
	top: 5px;
	font-size: 24px;
}

.businessItem04 {
	display: flex;
	justify-content: space-between;
    align-items: center;
	padding: 40px 0 40px;
}

.businessItem04__img {
	width: calc((100% / 2) - 10px);
}

.businessItem04__detail {
	width: calc((100% / 2) - 10px);
	position: relative;
	padding: 0 10px 0 70px;
}

.businessItem04__detail:before {
	writing-mode: vertical-rl;
	color: #ddd;
	content: "BUSINESS 04";
	position: absolute;
	left: 20px;
	top: 0px;
	font-size: 16px;
	letter-spacing: 2px;
	padding: 5px 0 0;
}

.businessItem04__detail__copy {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.3px;
}

.businessItem04__detail__title {
	font-size: 28px;
	line-height: 40px;
	padding: 10px 0 20px;
	letter-spacing: 1.3px;
}

.businessItem04__detail__text {
	font-size: 14px;
	line-height: 32px;
	letter-spacing: 1.3px;
}

.businessItem04__detail__link {
	width: calc((100% / 3) * 2);
	padding: 20px 0 0;
}

.businessItem04__detail__link a {
	position: relative;	
	color: #f8af46;
	border-bottom: 1px solid #f8af46;
	padding: 10px 0 10px 5px;
    width: -webkit-fill-available;
    display: block;
	font-size: 14px;
	letter-spacing: 1.3px;
}

.businessItem04__detail__link a:after {
	content: "\f107";
	font-family: fontAwesome;
	color: #f8af46;
	position: absolute;
	right: 10px;
	top: 5px;
	font-size: 24px;
}

.caseInfoArea {
	width: 100%;
	position: relative;
	padding: 80px 0 70px;
	background: #f8f7f4;
}

.caseInfoInner {
	position: relative;
}

.caseInfoInner__title {
	font-size: 28px;
	letter-spacing: 3px;
	text-align: center;
    padding: 10px 0 40px;
}

.caseInfoInner__title p {
	color: #f8af46;
	font-size: 16px;
}

.slick-caseList {
    width: 100%;
    max-width: 100%;
    margin: 15px auto;
    position: relative;
}

.slick__item {
    margin-right: 12px;
    margin-left: 12px;
}

.slick__item img {
    height: auto;
    width: 100%;
	aspect-ratio: 1 / 1;
    object-fit: cover;
}

.slick__item button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.slick-prev {
    left: 330px;
    z-index: 1;
	opacity: 1;
    top: 45%;
}

.slick-next {
    right: 340px;
	opacity: 1;
	top: 45%;
}

.slick-prev:before,
.slick-next:before {
    color: #f8af46;
	font-size: 40px;
	position:relative;
	z-index: 1;
	opacity: 1;
}

.slick-prev:after,
.slick-next:after {
	content: "";
    background: #fff;
    width: 25px;
    height: 25px;
    top: 5px;
    right: 0px;
    left: 8px;
    position: absolute;
    z-index: 0;
    padding: 5px;
    border-radius: 100%;
}

.dots-class button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.dots-class {
    display: flex;
    justify-content: space-between;
    width: calc(100% / 5);
    margin: 25px auto 0px;
	gap: 10px;
}

.dots-class li {
    width: 22%;
    height: 4px;
    background-color: #ccc;
    cursor: pointer;
    position: relative;
}

.dots-class li::before {
    content: "";
    display: inline-block;
    background-color: #f8af46;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
}

.dots-class li.slick-active {
    background-color: #f8af46;
}

.dots-class li.slick-active::before {
    background-color: #f8af46;
}

.caseItemSilderArea {
	display: flex;	
	padding: 40px;
	align-items: center;
	background: #fff;
	border-radius: 20px;
}

.caseItemSilderArea__left {
	width: calc((100% / 5) * 2);
    padding: 0 40px 0 0;
}

.caseItemSilderArea__left__title {
	color: #f8af46;
	letter-spacing: 3px;
}

.caseItemSilderArea__left__midashi {
	font-size: 20px;
	font-weight: 600;
	padding: 10px 0;
}

.caseItemSilderArea__left__text {
	font-size: 14px;
	line-height: 26px;
}

.caseItemSilderArea__right {
	display: flex;	
	width: calc((100% / 5) * 3);
	justify-content: space-between;
}

.caseItemSilderArea__right__before {
	position: relative;	
	width: calc((100% / 2) - 20px);
}

.caseItemSilderArea__right__before:before {
    font-size: 52px;
    font-family: "FontAwesome";
    content: "\f0da";
    position: absolute;
    color: #f8af46;
	right: -40px;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}

.caseItemSilderArea__right__before img {
	filter: brightness(0.7);
}

.beforeDemoImg {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	text-align: center;
    width: max-content;
    margin: 0px 0 0px;
}

.beforeDemoImg p {
	font-size: 18px;
}

.beforeDemoImg span {
	font-size: 14px;
}

.beforeDemoAttention {
    position: absolute;
    bottom: 0px;
    z-index: 5;
    background: #fff;
    padding: 2px 20px;
    display: block;
    left: -1px;
    letter-spacing: 1.5px;
    font-size: 14px;
    font-weight: 500;
}

.caseItemSilderArea__right__after {
	position: relative;	
	width: calc((100% / 2) - 20px);	
}

.caseItemSilderArea__right__after img {
	filter: brightness(0.7);	
}

.afterDemoImg {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	text-align: center;
    width: max-content;
    margin: 0px 0 0px;
}

.afterDemoImg p {
	font-size: 18px;
}

.afterDemoImg span {
	font-size: 14px;
}

.afterDemoAttention {
    position: absolute;
    bottom: 0px;
	right: -1px;
    z-index: 5;
    background: #fff;
    padding: 2px 20px;
    display: block;
    left: unset;
    letter-spacing: 1.5px;
    font-size: 14px;
    font-weight: 500;
}

.hide-area {
    display: none;
}

.galleryTxt {
	padding: 10px 0 0;	
	text-align:center;
	font-size: 20px;
    font-weight: bold;
}

.modaal-content-container p img {
    width: max-content;
    text-align: center;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.headeScrollLine__text:after {
    content: "";
    height: 50px;
    width: 3px;
    border-left: 1px solid #f8af46;
    position: absolute;
	top:0;
    bottom: 0;
    background: #fff;
    animation: circlemove 1.3s ease-in-out infinite, cirlemovehide 1.3s ease-out infinite;
}


/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{top:0px;}
     100%{top:160px;}
}

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
}


section.pankuzuPageTitle.pankuzuPageTitle--company  {
    padding: 50px 0 0;
    width: 100%;
    position: relative;
    background: linear-gradient(180deg, #fff 0%, #fff 70%, #f8f7f4 70%, #f8f7f4 100%);
}

section.pankuzuPageTitle.pankuzuPageTitle--company .pankuzuPageTitleInner__title {
    display: flex;
    align-items: center;
    padding: 10px 0px 30px;
}

section.pankuzuPageTitle.pankuzuPageTitle--company .pankuzuPageTitleInner ul {
    display: flex;
    padding: 20px 0px 20px;
}

.companyInfoArea {
	width: 100%;
	position: relative;
	padding: 80px 0 70px;
}

.companyInfoInner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

.tableCompanyInfo {
	display: table;	
    width: -webkit-fill-available;
}

.tableCompanyInfo__tr {
    display: table-row;
}

.tableCompanyInfo__tr__th {
	border-bottom: 1px solid #f8af46;
	display: table-cell;
	padding: 25px 0 25px 20px;
	font-weight: 600;
}

.tableCompanyInfo__tr__td {
	border-bottom: 1px solid #ddd;
	display: table-cell;
	padding: 25px 0 25px 20px;
}

.formAttentionTxt {
    padding: 70px 0 40px;
    width: 1200px;
    margin: 0 auto;
}

.formAttentionTxt span {
    color: #e94444;
}

#contact form {
	width: 1200px;
    margin: 0 auto;
}

#contact .form-list {
    width: 100%;
    max-width: 100%;
}

#contact .form-list dt label span {
	background:#e94444;
	color: #fff;
	padding: 2px 15px;
	border-radius: 40px;
	margin: 0 0 0 10px;
}

#contact input[type='submit'] {
    text-align: center;
    transition: all .3s;
    background: #f8af46;
    color: #fff;
    text-decoration: none;
    padding: 10px 60px;
    border-radius: 40px;
    display: block;
    font-size: 14px;
	border: none;
	width: auto;
}

#contact .form-list input[type='text'], #contact .form-list input[type='email'], #contact .form-list textarea {
    width: 100%;
    border: none;
    background: #eee;
    padding: 10px;
    border-radius: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#contact .form-list dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 25px 0 25px 0;
    align-items: self-start;
    border-top: 1px solid #eee;
}

#contact .form-list li:last-child dl {
	border-bottom: 1px solid #eee;	
}

#contact .form-list dt label {
    vertical-align: middle;
}

#contact .form-list dt {
    width: 20%;
    vertical-align: middle;
	padding: 10px 0px 0 20px;
}

#contact .form-list dd {
    width: 76%;
}

.privacyAgree {
	text-align: center;	
	padding: 50px 0 20px;
}

.privacyAgree a {
	padding: 0 0 0 5px;
	text-decoration: underline;
}

#contact .privacyAgree input[type="checkbox"] {
	margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	position: relative;
	vertical-align: middle;
	padding-left: 20px;
    cursor: pointer;
    border: 1px solid #ddd;
    width: 20px;
    height: 20px;
}

#contact .privacyAgree input[type="checkbox"]:before,
#contact .privacyAgree input[type="checkbox"]:after {
    content: "";
    display: block; 
    position: absolute;
}

#contact .privacyAgree input[type="checkbox"]:before {
    background-color: #fff;
    border-radius: 0%;
    border: none;
    width: 30px;/*チェックボックスの横幅*/
    height: 30px;/*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 50%;
    left: -5px;
	opacity: 0;
}

#contact .privacyAgree input[type="checkbox"]:after {
    border-bottom: 3px solid #fff;/*チェックの太さ*/
    border-left: 3px solid #fff;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 8px;/*チェックの高さ*/
    width: 13px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: 3px;/*チェック時の位置調整*/
    left: 4px;/*チェック時の位置調整*/
	z-index: 2;
}

#contact .privacyAgree input[type="checkbox"]:before {
	background: #f8af46;
	border-radius: 100%;
}


#contact .privacyAgree input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
}

#contact .privacyAgree input[type="checkbox"]:checked::before {
    opacity: 1;/*チェック後表示*/
}

#contact .privacyAgree label {
	padding: 0 0 0 10px;	
}


.formRecaptcha {
	text-align: center;
	padding: 0 0 10px;
}

.g-recaptcha {
    display: flex;
    justify-content: center;
    padding: 0 0 30px;
}

#contact .form-list .telContactFormList input[type='text'] {
	width: 25%;	
}

#contact .form-list .telContactFormList input[type='text'].addressInput {
	width: 100%;
	margin: 10px 0 0;
}


#contact .form-list dd.selectDd {
	overflow: hidden;
	text-align: center;
    border-radius: 10px;
	width: 500px;
    margin: 0 auto 0 50px;
}

.selectDd select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.selectDd select::-ms-expand {
    display: none;
}

.selectDd {
	position: relative;
	border: 2px solid #eee;
	background: #ffffff;
}

.selectDd::before {
	position: absolute;
	top: 1.25em;
	right: 1.0em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 12px solid #f8af46;
	pointer-events: none;
}

.selectDd select {
	padding: 10px 38px 10px 15px;
	color: #333;
}



.contactWayList dl dd label {
	position: relative;
	cursor: pointer;
	padding-left: 30px;
}

.contactWayList dl dd label::before,
.contactWayList dl dd label::after {
	content: "";
	display: block; 
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

.contactWayList dl dd label::before {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	left: 5px;
}

.contactWayList dl dd label::after {
	background-color: #f8af46;
	border-radius: 50%;
	opacity: 0;
	width: 10px;
	height: 10px;
	left: 10px
}

.contactWayList dl dd input:checked + label::after {
  	opacity: 1;
}

.contactWayList dl dd input {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}

#contact .form-list li.contactWayList dd {
    padding: 10px 0 0;
}

.centerDescription.centerDescription--privacy {
    padding: 60px 0 0px;
    text-align: left;
    width: 1200px;
    margin: 0 auto;
}

.centerDescription.centerDescription--privacy .centerDescription__text span {
    font-weight: 600;
}

.otherContactLink {
	text-align: center;	
    width: max-content;
    margin: 0 auto;
}

.otherContactLink a {
    background: #f8af46;
    color: #fff;
    text-decoration: none;
    padding: 10px 40px;
    border-radius: 40px;
    display: block;
    font-size: 14px;
}

.upHeaderContactArea__--top {
	flex-direction: column;
    justify-content: space-between;
    width: 100%;
    align-items: stretch;
    text-align: center;
}

.upHeaderContactArea__--top .upHeaderContactArea__right:nth-child(2) {
	margin: 10px 0 0;
}


.contactInfoInner__right--top {
	flex-direction: column;
    justify-content: space-between;
    width: 100%;
    align-items: stretch;
    text-align: center;
}

.contactInfoInner__right--top .upHeaderContactArea__right:nth-child(2) {
	margin: 10px 0 0;
}

.upHeaderContactArea__right--spp {
	display: none;	
}

.rightContactLinkBtn {
	position: fixed;
	right: 0px;
	top: 50%;
	transform: translateY(-50%) translateX(0%);
  	-webkit- transform: translateY(-50%) translateX(0%);
	z-index: 79;
}

.rightContactLinkBtn a {
	background: #f8af46;
    color: #fff;
	display: block;
	padding: 20px 10px;
	font-size: 12px;
	text-align: center;
}

.rightContactLinkBtn a .fa {
	font-size: 24px;	
}

.gallery01Area {
	display: grid;
    gap: 100px;
    grid-template-columns: 1fr 2fr;
    padding: 60px;
}

.gallery01Area__left {
	position: relative;
}

.gallery01Area__left img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	position: relative;
    display: block;
}

.gallery01Area__left_ {
	position: relative;	
}

.gallery01Area__left_:before {
	content: "before";
	position: absolute;
	top: 0px;
	left: 0px;
	color: #fff;
	background: #f8af46;
	padding: 5px 20px;
    z-index: 9999;
	letter-spacing: 2px;
}

.gallery01Area__left__ {
	position: relative;	
}

.gallery01Area__left__:before {
	content: "after";
	position: absolute;
	top: 0px;
	left: 0px;
	color: #fff;
	background: #f8af46;
	padding: 5px 28px;
    z-index: 9999;
	letter-spacing: 2px;
}

.gallery02Area {
	display: grid;
    gap: 100px;
    grid-template-columns: 1fr 2fr;
    padding: 60px;
}

.gallery02Area__left {
	position: relative;
}

.gallery02Area__left img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	position: relative;
    display: block;
}

.gallery02Area__left_ {
	position: relative;	
}

/*
.gallery02Area__left_:before {
	content: "before";
	position: absolute;
	top: 0px;
	left: 0px;
	color: #fff;
	background: #f8af46;
	padding: 5px 20px;
    z-index: 9999;
	letter-spacing: 2px;
}

.gallery02Area__left__ {
	position: relative;	
}

.gallery02Area__left__:before {
	content: "after";
	position: absolute;
	top: 0px;
	left: 0px;
	color: #fff;
	background: #f8af46;
	padding: 5px 28px;
    z-index: 9999;
	letter-spacing: 2px;
}
*/

.gallery01Area__right {
	padding: 40px 20px 0 0;	
}

.gallery01Area__right__title {
	padding: 0 0 20px;
	font-size: 18px;
}

.businessItem03__img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 30px;
}


@media screen and (max-width:1700px) {

	.slick-prev {
		left: 130px;
	}
	
	.slick-next {
		right: 135px;
	}

}

@media screen and (max-width:1350px) {
	
	.headMainArea__left__up {
		height: 60vh;
	}
		
}

@media screen and (max-width:1210px) {
	
	.topNewsInner {
		width: 100%;
	}
	
	.messageInfoArea {
		padding: 0 20px;
	}

	.messageInfoInner {
		width: 100%;
	}	
	
	.businessInfoInner {
		width: 100%;
	}
	
	.businessInfoArea {
		padding: 30px 20px;
	}	
	
	.contactInfoInner {
		width: 100%;
	}
	
	.contactInfoArea {
		padding: 50px 20px;
	}	
	
	.footerInfoInner {
		width: 100%;
	}
	
	.footerInfoArea {
		padding: 50px 20px;
	}
	
	.headMainArea__left__up {
    	height: 100%;
	}
	
	.headeScrollLine {
		display: none;	
	}
	
	.headMainArea__right {
		position: relative;
		width: 100%;
	}
	
	.contactInfoInner__right {
		padding: 30px 20px 40px;
	}
	
	.headMainArea__left {
		display: block;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 100%;/*leftの値を変更してメニューを画面外へ*/
		z-index: 80;
		background-color: #3584bb;
		transition: all 0.5s;/*アニメーション設定*/
	}
	
	.otherPageWrapper .headMainArea__left {	
		display: block;	
	}
	
	#menu-btn-check {
		display: none;	
		cursor: pointer;
	}
	
	#menu-btn-check:checked ~ .headMainArea__left {
    	left: 0;/*メニューを画面内へ*/
	}
	
	.menu-btn {
		position: fixed;
		top: 10px;
		left: 10px;
		display: flex;
		height: 60px;
		width: 60px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: #f8af46;
		cursor: pointer;
	}
	
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content: '';
		display: block;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #ffffff;
		position: absolute;
	}
	
	.menu-btn span:before {
		bottom: 8px;
	}
	
	.menu-btn span:after {
		top: 8px;
	}
	
	#menu-btn-check:checked ~ .menu-btn span {
		background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	
	#menu-btn-check:checked ~ .menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	
	#menu-btn-check:checked ~ .menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	
	.headMainInfoArea {
		display: none;	
	}
	
	.otherPageWrapper .headMainArea__right {
		justify-content: end;
	}
	
	.headMainArea__left ul .pcLeftNavList--top {
		display: block;	
	}
		
	.otherPageWrapper .headMainArea__right .upHeaderContactArea {
		position: relative;
		display: flex;
		justify-content: end;
	}
	
	.upHeaderContactArea__right--spp {
		display: block;	
        margin: 40px auto 0;
	}
	
	.pankuzuPageTitleInner {
    	width: 100%;
    }

	.importantInfoInner {
		width: 100%;
	}
	
	.featureInfoInner {
		width: 100%;
	}
	
	.slick-prev {
		left: 60px;
	}
	
	.slick-next {
		right: 65px;
	}
	
	.companyInfoInner {
		width: 100%;
	}
	
	#contact form {
		width: 100%;	
	}
	
	.formAttentionTxt {
		width: 100%;	
		padding: 70px 20px 40px;
	}
	
	#contact .form-list input[type='text'], 
	#contact .form-list input[type='email'], 
	#contact .form-list textarea {
		width: 60%;
	}
	
	#contact .form-list .telContactFormList input[type='text'].addressInput {
		width: 60%;
		margin: 10px 0 0;
	}

	#contact .form-list dd.selectDd {
		width: 500px;
		margin: 0 auto 0 25px;
	}
	
	#contact .form-list dt {
		width: 23%;
		padding: 10px 0px 0 20px;
	}
	
	#contact .form-list dd {
		width: 75%;
	}
	
	.centerDescription.centerDescription--privacy {
    	padding: 60px 20px 0px;
        width: 100%;
    	margin: 0 auto;
	}


}

@media screen and (max-width:1000px) {

	.messageInfoInner {
		flex-direction: column;
	}
	
	.messageInfoInner__left {
		width: 100%;
	}

	.messageInfoInner__right {
		width: 100%;
		padding: 30px 0 0 0px;
	}
	
	.contactInfoInner {
		flex-direction: column;
	}
	
	.contactInfoInner__left {
		width: 100%;
		padding: 0 0px 40px 0;
	    text-align: center;
	}
	
	.contactInfoInner__right {
		padding: 30px 30px 40px;
		width: 100%;
	}
	
	.messageInfoInner__right__link {
		text-align: center;
	}
	
	.pankuzuPageTitleInner {
		padding: 0 20px;
	}

	.importantInfoInner__list {
		flex-wrap: wrap;
	    padding: 40px 20px 0;
	}
	
	.importantInfoInner__list__item {
		width: calc((100% / 2) - 20px);
		padding: 0px 30px 0px;
		aspect-ratio: 1 / 1;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	    margin: 0 0 20px;
	}
	
	.importantInfoInner__list__item:first-child {
		padding: 0px 30px 0;
	}
	
	.featureInfoInner {
		padding: 0 20px;
	}
	
	.featureInfoList {
		border-radius: 10px 10px 10px 10px;
		flex-direction: column;
	}
	
	.featureInfoList__left {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: flex-start;
	}
	
	.featureInfoList__right {
		font-size: 14px;
		width: 100%;
		line-height: 26px;
		padding: 10px 0 0;
	}
	
	.caseItemSilderArea {
		display: flex;
		padding: 30px;
		align-items: center;
		background: #fff;
		border-radius: 20px;
		flex-direction: column;
	}
	
	.caseItemSilderArea__left {
		width: 100%;
		padding: 0 0px 40px 0;
	}
	
	.caseItemSilderArea__right {
		display: flex;
		width: 100%;
		justify-content: space-between;
	}
	
	.caseItemSilderArea__right__before:before {
		font-size: 52px;
		font-family: "FontAwesome";
		content: "\f0da";
		position: absolute;
		right: -40px;
		top: 50%;
		color: #f8af46;
		transform: translateY(-50%) translateX(-50%);
	}
	
	.businessItem01,
	.businessItem02,
	.businessItem03,
	.businessItem04 {
        flex-direction: column;
	}
	
	.businessItem01__img,
	.businessItem02__img,
	.businessItem03__img,
	.businessItem04__img {
		width: 100%;
		padding: 0 0 30px;
	}

	.businessItem01__detail,
	.businessItem02__detail,
	.businessItem03__detail,
	.businessItem04__detail {
		width: 100%;
		position: relative;
		padding: 0 10px 0 60px;
	}

	.businessItem01__detail:before,
	.businessItem02__detail:before,
	.businessItem03__detail:before,
	.businessItem04__detail:before {
		left: 10px;
	}
	
	#contact .form-list dl {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 25px 0 25px 0;
		align-items: self-start;
		border-top: 1px solid #eee;
		flex-direction: column;
	    font-size: 14px;
	}
	
	#contact .form-list dt {
		width: 100%;
		padding: 10px 0px 10px 20px;
	}
	
	#contact .form-list dd {
		width: 100%;
		padding: 0 20px;
	}
	
	#contact .form-list dd.selectDd {
		width: 300px;
		margin: 0 auto 0 20px;
		padding: 0px;
	}
	
	.selectDd select {
    	font-size: 14px;
	}
	
	#contact .form-list li.contactWayList dd {
		padding: 10px 20px 0;
	}
		
	#contact .form-list .telContactFormList input[type='text'] {
		width: 30%;
	}
	
	.formAttentionTxt {
		font-size: 14px;
	}
			
		
}


@media screen and (max-width:850px) {
	
	.missionInfoInner {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 0px 0 60px;
		letter-spacing: 1.5px;
		flex-direction: column;
	}
	
	.missionInfoInner__img {
		width: 100%;
	}
	
	.missionInfoInner__img img {
		aspect-ratio: 2 / 1;
		object-fit: cover;
	}
	
	.missionInfoInner__detail {
		width: 100%;
		padding: 50px 20px 0 20px;
		position: relative;
	}
	
	.missionInfoInner__detail:after {
		top: 10px;
	}
	
}

@media screen and (max-width:768px) {
	
	.headMainArea {
		display: flex;
		padding: 0 0 0px;
	}
	
	.spHeaderLogo {
		display: flex;
		justify-content: center;
		width: 100%;
		background: #fff;
		height: -webkit-fill-available;
		z-index: 2;
		position: relative;
		padding: 20px 0 0;
	}
	
	.spHeaderLogo img {
		width: 160px;
    	height: -webkit-fill-available;
	}
	
	.upHeaderContactArea {
		display: none;	
	}	
	
	.businessInfoInner__list__item {
		width: 100%;
		text-align: center;
		padding: 0 0 20px;
	}
	
	.messageInfoInner {
		padding: 60px 20px;
	}
	
	.otherPageWrapper .headMainArea__right .upHeaderContactArea {
		display: none;	
	}
	
	.pankuzuPageTitleInner__title {
		display: flex;
		align-items: center;
		padding: 10px 0px 30px;
	}
	
	.pankuzuPageTitleInner__title__main {
		font-size: 18px;
	}
	
	.pankuzuPageTitleInner__title__sub {
		color: #f8af46;
		font-size: 12px;
		padding: 3px 0 0 10px;
	}
	
	.pankuzuPageTitleInner ul {
		display: flex;
		padding: 20px 0px 30px;
	}
	
	.pankuzuPageTitleInner ul li {
		font-size: 12px;
		padding: 0 20px 0 0px;
	}
	
	.missionInfoInner__detail__copy {
		font-size: 20px;
		padding: 20px 0 20px;
		font-weight: 600;
		line-height: 36px;
	}
	
	.importantInfoInner__title {
		font-size: 20px;
		letter-spacing: 1.5px;
		text-align: center;
	}
	
	.importantInfoInner__list {
		flex-wrap: wrap;
		padding: 40px 60px 0;
	}
	
	.importantInfoInner__list__item:first-child {
		padding: 0px 0px 0;
	}
	
	.importantInfoInner__list__item {
		width: 100%;
	}
	
	.importantInfoInner__text {
		text-align: center;
		padding: 30px 20px 10px;
	}
	
	.featureInfoInner__title {
		font-size: 20px;
	}
	
	.businessInfoInner__link {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 0 70px;
		flex-direction: column;
	}
	
	.businessInfoInner__link__item {
		width: 100%;
		text-align: center;
		padding: 0 0 10px;
	}
	
	.businessItem01__detail__title,
	.businessItem02__detail__title,
	.businessItem03__detail__title,
	.businessItem04__detail__title {
		font-size: 22px;
	}
	
	.slick-prev {
		left: 20px;
	}
	
	.slick-next {
		right: 35px;
	}
		
	.caseItemSilderArea__right__before img,
	.caseItemSilderArea__right__after img{
		height: auto !important;
	}
	
	.beforeDemoImg p,
	.afterDemoImg p{
		font-size: 14px;
	}
	
	.beforeDemoImg span,
	.afterDemoImg span {
		font-size: 11px;
	}
	
	.beforeDemoAttention,
	.afterDemoAttention {
		padding: 2px 10px;
		font-size: 10px;
	}
	
	.caseInfoInner__title {
		font-size: 22px;
	}
	
	.gallery01Area {
		display: grid;
		gap: 10px;
		grid-template-columns: 1fr;
		padding: 40px 0 20px;
	}
	
	.gallery02Area {
		display: grid;
		gap: 10px;
		grid-template-columns: 1fr;
		padding: 40px 0 20px;
	}
	
}

@media screen and (max-width:480px) {
	
	.topNewsInner {
		padding: 30px 20px;
	}
	
	.bottomHeaderCopy__top {
		font-size: 18px;
		font-weight: bold;
		letter-spacing: 4px;
	}
		
	.bottomHeaderCopy__bottom {
		font-size: 30px;
		font-weight: bold;
		letter-spacing: 4px;
		line-height: 40px;
	}
	
	.contactInfoInner__right__ {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	.contactInfoInner__right__tel {
		font-size: 30px;
		font-weight: bold;
		letter-spacing: 1.2px;
	}
	
	.contactInfoInner__right__time {
		font-size: 12px;
		font-weight: normal;
		padding: 0px 0 10px 0px;
	}
	
	h2.messageInfoInner__right__midashi {
		padding: 20px 0;
		font-size: 18px;
		line-height: 34px;
	}
	
	.messageInfoInner__right__text {
		font-size: 14px;
		line-height: 32px;
	}
	
	.businessInfoInner__title {
		font-size: 18px;
		text-align: center;
		padding: 40px 0 40px;
	}
	
	.businessInfoInner__title p {
		color: #f8af46;
		font-size: 12px;
	}
	
	.contactInfoInner__left__midashi {
		font-size: 18px;
		padding: 15px 0 15px;
		font-weight: 600;
		line-height: 34px;
	}
	
	.companyInfoArea {
		padding: 40px 0 20px;
	}
	
	.tableCompanyInfo {
		display: table;
		width: -webkit-fill-available;
		padding: 0 20px;
	}
	
	.tableCompanyInfo__tr__th {
		display: block;	
	    padding: 25px 0 0px 0px;
	    border-bottom: unset;
	}
	
	.tableCompanyInfo__tr__td {
		display: block;	
	    padding: 10px 0 25px 0px;
	}
	
	section.pankuzuPageTitle.pankuzuPageTitle--company {
		padding: 30px 0 0;
		width: 100%;
		position: relative;
		background: linear-gradient(180deg, #fff 0%, #fff 67%, #f8f7f4 67%, #f8f7f4 100%);
	}
	
	#contact .form-list dl {
		padding: 15px 0 25px 0;
	}
	
	#contact .form-list input[type='text'],
	#contact .form-list input[type='email'], 
	#contact .form-list textarea {
		width: 100%;
	}
	
	#contact .form-list .telContactFormList input[type='text'] {
		width: 50%;
	}
	
	#contact .form-list .telContactFormList input[type='text'].addressInput {
		width: 100%;
		margin: 10px 0 0;
	}
	
	/* iOS chromeのみ */
	_:lang(x)::-webkit-outer-spin-button, .spHeaderLogo img {
		height: auto;
	}
	
	/* iOS chromeのみ */
	_:lang(x)::-webkit-outer-spin-button, .spHeaderLogo {
		height: auto;
	}
	
	/* iOS safariのみ */
	_:-webkit-full-screen:not(.foo), .spHeaderLogo img {
		height: auto;
	}
	
	/* iOS safariのみ */
	_:-webkit-full-screen:not(.foo), .spHeaderLogo {
		height: auto;
	}
	
}
