@charset "UTF-8";


body {
	font-size: 14px;
}

.containerWrapper {
	max-width: 100%;
}

.containerWrapper,
.maxWrapper,
.container,
body,
header,
footer {
	width: 100% !important;
	box-sizing: border-box;
}

.container {
	margin-bottom: 50px;
	padding: 0 20px;
}

.services,
.about {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.contentLinkBlock {
	width: 100% !important;
	text-align: center;
}

.businessArticle {
	width: 100%;
	height: fit-content;
	margin-bottom: 30px;
}

.businessArticle .businessArticleImg {
	height: fit-content;
}

.news {
	margin-bottom: 50px;
}

.containerWrapper p br,
h2 .titleMessage br {
	display: none;
}

.spBr {
	display: block !important;
}

.topMessageContainer div.topMessageText {
	padding-left: 0px;
}

.policy .backgroundImage {
	height: 150px;
	margin-top: 100px;
}

.contact .backgroundImage {
	height: 300px;
}

.services .backgroundImage {
	background-size: 100%;
	background: url(../img/impressionImg2.png) no-repeat center top;
	height: 400px;
}

.about .backgroundImage {
	background-size: 100%;
	height: 400px;
	background: url(../img/impressionImg1.png) no-repeat center top;
}

.about .backgroundImage::after {
	content: '';
	background-color: rgba(46, 123, 158, 0.4);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	padding: 0;
	margin: 0;
	height: 98%;
}

.policy .backgroundImage h2 span.topTitle {
	border-bottom: 4px solid #000;
	padding-bottom: 10px;
}

.contact .backgroundImage h2 span.topTitle {
	border-bottom: 4px solid #000;
}

.services .backgroundImage h2 span.topTitle,
.about .backgroundImage h2 span.topTitle {
	border-bottom: 4px solid #FFF;
	display: inline-block;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.backgroundImage.indexImage {
	height: 100vh;
	background-size: cover;
	animation: bg 50s infinite linear;
}

@keyframes bg {
	0% {
		background-size: 200vh;
	}

	100% {
		background-size: 250vh;
	}
}

.policy .backgroundImage h2,
.services .backgroundImage h2,
.contact .backgroundImage h2 {
	width: 90%;
	padding-right: 0;
}

.policy .backgroundImage h2 .topTitle,
.contact .backgroundImage h2 .topTitle,
.services .backgroundImage h2 .topTitle,
.about .backgroundImage h2 .topTitle {
	width: fit-content;
}

.backgroundImage h2 span.titleMessage {
	width: 80%;
	margin-bottom: 10px;
}

.policy .backgroundImage h2 span.titleMessage,
.contact .backgroundImage h2 span.titleMessage {
	/*width: 350px;*/
	width: 100%;
	font-size: 16px;
	margin-top: 30px;
}

.about .backgroundImage h2 span.titleMessage,
.services .backgroundImage h2 span.titleMessage {
	width: 100%;
	font-size: 16px;
	margin-top: 30px;
}

.backgroundImage h2 span.topTitle {
	font-size: 3em;
	line-height: 1em;
}

.policy .backgroundImage h2 span.topTitle,
.contact .backgroundImage h2 span.topTitle,
.about .backgroundImage h2 span.topTitle,
.services .backgroundImage h2 span.topTitle {
	font-size: 1.8em;
	line-height: 1em;
}

.about .backgroundImage h2 {
	width: 90%;
	padding-left: 0;
}

.backgroundImage h2 span.subTitle {
	width: 100%;
}

header {
	background: #076293;
	height: 100vh;
	top: 0px;
	position: relative;
	margin: auto;
	box-sizing: border-box;
	display: none;
}

.spHeader {
	display: block;
	width: 100%;
	height: 70px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1000;
}

.spHeader h1 {
	margin-top: 10px;
	padding-left: 10px;
	z-index: 999;
}

.hamburger {
	display: block;
	position: fixed;
	z-index: 3;
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	text-align: center;
	z-index: 999;
}

.hamburger span {
	display: block;
	position: absolute;
	width: 30px;
	height: 2px;
	left: 6px;
	background: #FFF;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

.hamburger span:nth-child(1) {
	top: 10px;
}

.hamburger span:nth-child(2) {
	top: 20px;
}

.hamburger span:nth-child(3) {
	top: 30px;
}

/* ×（開いてる時のボタン） */
.hamburger.active span:nth-child(1) {
	background: #FFF;
	top: 16px;
	left: 6px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
	background: #FFF;
	top: 16px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}


/* このクラスを、jQueryで付与・削除する */
.menu.active {
	opacity: 1;
	visibility: visible;
	z-index: 100;
	display: block;
}

.menu.active a {
	pointer-events: auto;
}

.menu a {
	pointer-events: none;
}

.menu {
	transition: opacity 1s, visibility 1s;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	color: #fff;
	background: #076293;
	text-align: center;
	width: 100%;
	height: 100%;
	z-index: 0;
	display: none;
}

.menu ul {
	margin: 0 auto;
	padding: 0;
	width: 85%;
	font-weight: 400;
	padding: 10px 0;
}

.menu ul:last-child {
	margin-bottom: 20px;
}

.menu ul li {
	list-style: none;
	width: 100%;
	height: 40px;
	line-height: 40px;
	font-size: 1.2em;
	border-bottom: 1px solid #FFF;
	text-align: left;
	padding: 0;
}

.menu ul li:first-child {
	border-bottom: 2px solid #FFF;
	font-weight: 700;
}

.menu ul li::after {
	content: url(../img/arrowImg2.svg);
	filter: brightness(1) invert(1);
	width: 10%;
	display: inline-block;
	text-align: right;
	padding-right: 5px;
}

.menu ul li a {
	width: 90%;
	display: inline-block;
}

.topMessageContainer div.topMessageContainerTitle {
	width: 100%;
	margin-top: 20px;
}

header .nav2 {
	display: none;
}

h1#rogo {
	width: 100%;
	height: fit-content;
	padding-left: 20px;
	padding-top: 0px;
	margin-top: 10px;
	text-align: left;
}

h1#rogo img {
	display: none;
}

h1#rogo::after {
	width: 80%;
	height: 70px;
	content: url(../img/rogo-sp.svg);
}


.topMessageContainer {
	width: 100%;
	display: inline-block;
	padding: 10px 30px 35px 30px !important;
}

.descriptionContent {
	padding: 30px !important;
}

.containerWrapper.secondWrapper {
	padding: 0 !important;
}

.about .topMessageContainer {
	padding: 0px;
}

.topMessageContainer div:first-child h2 {
	padding-right: 0px;
	padding-bottom: 20px;
	text-align: center;
}

.about .topMessageContainer div:first-child h2,
.services .topMessageContainer div:first-child h2 {
	text-align: left;
}

.container .contentContainer {
	height: 100px;
}

.container .contentContainer .contentMessage .impressionImage img {
	width: 100% !important;
	height: auto;
	object-fit: cover;
}

.container .contentContainer .contentMessage .titleMessage,
.container .contentContainer .contentMessage .titleMessage h2 {
	width: fit-content;
	height: fit-content;
	top: 180px !important;
	padding: 10px 0;
}

/*.container .contentContainer .contentMessage div:nth-child(2){
line-height: 0;
}*/

.container .menuContainer {
	padding-top: 350px;
}

.container .menuContainer ul {
	display: block;
}

.container .menuContainer li {
	width: 100%;
	height: 80px;
	line-height: 75px;
	margin-left: 0px;
	padding-left: 0;
	font-size: 20px;
	border-top: 0;
}

.container .menuContainer li:first-child {
	border-top: 1px solid #DDD;
}

.container .menuContainer li:nth-of-type(2n) {
	margin-left: 0px;
}

.container .menuContainer li span::after {
	content: url("../img/arrowImg2.svg");
	position: absolute;
	right: 20px;
}

.container.ourServices .menuContainer li {
	width: 100%;
}


.secondWrapper .contentContainer .contentTitle,
.secondWrapper .contentContainer .contentSubTitle,
.Works .titleMessage {
	margin-left: 30px;
}

.secondWrapper .container {
	width: 100%;
	height: 500px;
	margin-top: 0;
}


.secondWrapper .container:last-child {
	height: auto;
}

footer {
	height: auto;
}

.footerTop {
	width: 100%;
	height: auto;
	display: block;
}

.footerLeft,
.footerRight {
	width: 100%;
}

.footerLeftTop {
	width: 40%;
	display: block;
	margin: 0 auto;
}


.footersns li {
	margin-top: 24px;
}

.footerAddress {
	text-align: center;
}


.footerRight {
	width: 100%;
	display: block;
	font-weight: 400;
}

.footerRight .footerMenu {
	width: 100%;
	margin: 0px;
	padding: 30px;
}

.footerBottom {
	display: block;
	border-top: 1px solid #FFF;
}

.footerBottomInner {
	width: 100%;
	text-align: center;
	display: block;
}

.footerBottom .footerBottomInner ul {
	width: 100%;
	display: block;
	line-height: 1.5em;
	margin-top: 30px;
}

.footerBottom .footerBottomInner ul li {
	margin-left: 0;
	text-align: left;
}

.footerBottom small {
	width: 100%;
	position: static;
}

.sokoshaku {
	border-radius: 0;
	padding: 30px;
	height: fit-content;
}

.sokoshaku .sokoshakuSite img,
.sokoshakuTitle img {
	width: 100%;
	height: auto;
}

.sokoshaku p {
	line-height: 2em;
}

.sokoshaku .sokoshakuLink {
	margin: 0;
	border: 1px solid #666;
	text-align: center;
	padding: 20px;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 50px;
}

.sokoshaku .sokoshakuTitle div {
	padding: 0;

}

.sokoshaku .sokoshakuTitle div h4 {
	font-size: 24px;
	padding-left: 10px;
	padding-top: 20px;
}

.sokoshaku .sokoshakuTitle {
	display: block;
	margin-bottom: 50px;
}

.description {
	display: block;
	height: fit-content;
}

.heading.description.reverse {
	display: flex;
	flex-wrap: wrap;
}

.heading.description.reverse div {
	width: 100%;
}

.ourServices {
	padding-top: 0;
	margin-top: 0;
	line-height: 28px;
}

.heading.description.reverse .descriptionImg,
.heading.description.reverse .impressionImage {
	order: 2;
}

.heading.description.reverse .descriptionH3,
.heading.description.reverse .titleMessage {
	order: 1;
}

.description div.descriptionH3 {
	width: 100% !important;
	line-height: 40px;
}

.heading.description h3 {
	padding-left: 30px;
	padding-bottom: 30px;
}

.description h3 {
	width: 100%;
	padding-top: 30px;
	padding-bottom: 50px;
	text-align: left;
}

.description.descriptionContent {
	padding: 0 20px;
}

.description.descriptionContent div {
	padding: 0;
}

.sokoshakuFooter p {
	margin-top: 10px;
}

.sokoshakuFooter p,
.sokoshakuFooter h5 {
	width: 100%;
	padding: 0 30px;
}

h2.contentTitle {
	padding-top: 180px;
}

.Works h2.contentTitle,
.news h2.contentTitle {
	padding-top: 0px;
}

.footerAboutUs {
	width: 100%;
	height: fit-content;
	margin: 0 auto;
	padding-top: 30px;
	margin-bottom: 100px;
	background: #EDEFEF;
	display: block;
}

.about .footerOurServices {
	background: #5C5A5A;
	display: block;
	width: 100%;
	height: fit-content;
	margin: 0 auto;
	padding-top: 30px;
	margin-bottom: 100px;
}

.about .footerOurServices .spImg {
	width: 350px;
	height: 250px;
	margin: 0 auto;
	background: url(../img/impressionImg2.png) no-repeat;
	background-size: cover;
}

.footerAboutUs .spImg {
	width: 350px;
	height: 250px;
	margin: 0 auto;
	background: url(../img/impressionImg1.png) no-repeat;
	background-size: cover;
}

.footerAboutUs h2.contentTitle {
	padding: 0;
	padding-bottom: 10px;
	margin-top: -50px;
}

.footerAboutUs .titleMessage,
.footerOurServices .titleMessage {
	width: 100%;
	height: fit-content;
}

.footerAboutUs .titleMessage,
.footerOurServices .titleMessage p {
	width: 85%;
}

.footerAboutUs .contentLink,
.footerOurServices .contentLink .contentLink {
	text-align: left;
	margin-left: 0;
	margin-top: 50px;
	padding-bottom: 30px;
}

.description .valueImgWrapper {
	width: 100%;
	box-sizing: border-box;
}

.description .valueImgWrapper span {
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.description .valueImgWrapper span img {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	margin-top: 40px !important;
}

.companyInfo div table {
	width: 50%;
	padding: 0 30px;
}

.profile {
	display: block;
	font-size: 14px;
	margin-bottom: 50px;
}

.about .description.descriptionContent h3 {
	width: 100%;
}

.about .description.descriptionContent div.map {
	margin-top: 0;
}

.about .containerWrapper.accessWrapper {
	width: 100%;
	padding: 0;
}

.about .containerWrapper.accessWrapper .description.descriptionContent h3 span {
	margin-left: 30px;
}

.about .containerWrapper.accessWrapper .mapText {
	width: 85%;
	margin: 0 auto;
}

.about .containerWrapper.accessWrapper .mapText br {
	display: block;
}

.about .description.descriptionContent {
	width: 100%;
	padding: 0;
	margin: 0;
}

.about .description.descriptionContent.companyInfo h3 {
	margin-top: 50px;
}

.about .description.descriptionContent.companyInfo h3 div {
	/*display: flex;*/
	display: block;
}

.about .description.descriptionContent.companyInfo h3 img {
	/*width: 50%;*/
	width: 100%;
}

.about .description.descriptionContent.companyInfo h3 div span {
	font-size: 21px;
	border-bottom: none;
	padding: 50px 30px 0 35px;
	text-align: center;
}

.about .description.descriptionContent.partner {
	margin-bottom: 100px;
}

.about .description.descriptionContent.companyInfo h3 div span::after {
	content: "ＡＩＫＥＹ\A株式会社";
	width: 50%;
	white-space: pre;
	height: fit-content;
}

.about .description.descriptionContent.partner h3 div span::after {
	content: "有限会社\Aエスエス\Aプランニング";
	width: 50%;
	white-space: pre;
	height: fit-content;
}

.about .description.descriptionContent.companyInfo div h4 {
	display: none;
}

.companyInfo div table {
	width: 100%;
	padding: 0;
	margin: 0;
}

.about .topMessageContainer h4 {
	border: none;
}

.about .topMessageContainer h4 span {
	display: block;
	border-bottom: 2px solid #000;
}

.about .maxWrapper .description div.gradientImg img,
.about .maxWrapper .description.reverse div img {
	width: 80%;
	margin: 0 auto;
	margin-top: -80px;
}

.about .maxWrapper .heading.description h3 {
	padding-bottom: 100px;
}


.about .mission ul {
	padding: 0;
}

.description .mission li::before {
	top: -50px;
	left: 38%;
}

.description .mission li span {
	display: inline;
	border: none;
}

.about .description.principle {
	margin-bottom: 50px;
}

.heading.description.reverse .descriptionImg {
	z-index: 999;
	height: fit-content;
}

.description.principle ul {
	width: 100%;
	margin: 0;
	padding: 0;
}

.about .description.principle ul li {
	display: block;
	height: fit-content;
	padding-bottom: 30px;
}

.description.principle ul li::before {
	display: block;
	text-align: center;
	padding: 0;
}

.companyInfo div tr,
.companyInfo div tr:first-child {
	border-bottom: 3px solid #E1E1E1;
}

.companyInfo th,
.companyInfo td {
	width: 100%;
	display: block;
}

.companyInfo th {
	border-bottom: 1px solid #E1E1E1;
}

.companyInfo div tr td a.mapLink,
.access div a.mapLink {
	width: 100%;
	display: block;
	height: fit-content;
	margin-top: 10px;
	padding: 10px;
	padding-bottom: 20px;
	text-align: center;
	background: #EEE;
}

.companyInfo div tr td.addressLink {
	display: block;
}

.companyInfo div tr td.addressLink div {
	margin-bottom: 10px;
}

.description div img {
	margin: 0 auto;
	margin-bottom: 10px;
}

.widthRegulate,
.widthRegulate p {
	width: 100% !important;
	margin: 0 !important;
}

.sliderContainer {
	display: block;
	box-sizing: border-box;
	margin: 0 auto;
	width: 100%;
}

.slider {
	width: 99% !important;
	margin: 100px auto;
}

.slick-prev::after,
.slick-next:after {
	width: 30px !important;
	content: '　';
	display: block;
	height: 30px;
	border: none !important;
	position: absolute;
	top: -1px;
	border: 0;
}

.slick-prev {
	width: 30px !important;
	left: 0px !important;
	z-index: 888;
}

.slick-next {
	width: 30px !important;
	right: 0 !important;
	z-index: 888;
}

.performance {
	margin-left: -10px;
	z-index: 555;
	border: 0 !important;
}

.slick-prev,
.slick-next {
	width: 50px !important;
	border: 1px solid #DDD !important;

}

.slick-prev::before,
.slick-next::before {
	margin-left: 10px !important;
}

.slick-list {
	margin: 0 50px !important;
}

.contact .form {
	margin: 0 auto;
}
.contact .form .radioform p{
	padding-left: 30px;
}
.contact .form .radioform div label{
	width: 100%;
}
.contact .form  div label{
	width: 100%;
	margin-bottom: 10px;
}
.contact .form .kindsWap{
	width: 100%;
}
.contact .form .kindsWap label{
	width: 100%;
}
.contact .form .kindsWap span {
	margin-top: 20px;
}
.contact .form .kindsWap span input{
	display: inline-block;
}
.contact .form .kindsWap span label{
	margin: 0;
	padding-top: 5px;
}
.contact .radioform {
	margin-left: 0;
}

.contact .radioform div {
	width: 100%;
}

.contact .required {
	height: 25px;
	line-height: 24px;
}

.contact .contentLinkBtn,
.newsLink .newsBtn,
.ContactLink .ContactLinkBtn {
	/*width: 100%;*/
width: 90%;
}

.ContactLink {
	height: fit-content;
	padding-bottom: 10px;
	margin-top: 30px;
}

.ContactLink p {
	padding: 0 30px;
	box-sizing: border-box;
}

.contact .ContactLink {
	margin-top: 0;
}

.contact .ContactLink a p {
	padding: 0;
}

.contact .form label.howDid {
	width: 100%;
	display: block;
}

.contact .form input,
.contact .form textarea,
.contact form input,
.contact form textarea,
.contact form select {
	width: 99.5%;
	margin: 0 auto;
	display: block;
	/*font-size: 17px !important;*/
	font-size: 14px !important;
}

.contact form {
	width: 100%;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}
.contact form .form{
	padding: 5%;
}
.contact .form select {
	width: 100%;
}

.policy .hamburger span,
.contact .hamburger span {
	background: #000;
}

.policy .containerWrapper .contentWap {
	display: block;
}

.policy .containerWrapper {
	max-width: 100%;
	padding: 0 20px;
}

.policy .subtitle h2 {
	width: 100%;
}

label.error {
	padding-left: 0%;
}

.formBreadcrumb p span {
	width: 50px;
}

.formBreadcrumb p:first-child span {
	margin-left: 0;
}

.formBreadcrumb {
	width: fit-content;
	margin: 10px auto;
	padding: 0;
}

.formBreadcrumb p:last-child span {
	margin-right: 0px;
}

.thanksText {
	width: 85%;
}

.thanksText div {
	text-align: left;
	padding-top: 30px;
}

.policy h1#rogo::after,
.contact h1#rogo::after {
	filter: brightness(0) invert(0);
}

.active h1#rogo::after,
.policy.active h1#rogo,
.menu.active h1#rogo {
	filter: brightness(1) invert(0);
}

/*404エラーページ*/
.services .backgroundImage404 {
background-size: 100%;
background: url("../img/impressionImg12.png") no-repeat center top;
height: 400px;
}

.services .backgroundImage404 h2 span.topTitle{
border-bottom: 4px solid #FFF;
display: inline-block;
padding-bottom: 10px;
margin-bottom: 10px;
}

backgroundImage404.indexImage {
height: 100vh;
background-size: cover;
animation: bg 50s infinite linear;
}

.services .backgroundImage404 h2{
width: 90%;
padding-right: 0;
}
.services .backgroundImage404 h2 .topTitle{
width: fit-content;
}
.backgroundImage404 h2 span.titleMessage {
width: 80%;
margin-bottom: 10px;
}
.services .backgroundImage h2 span.titleMessage404 {
width: 100%;
font-size: 16px;
margin-top: 30px;
}
.backgroundImage404 h2 span.topTitle {
font-size: 3em;
line-height: 1em;
}

.services .backgroundImage404 h2 span.topTitle {
font-size: 1.8em;
line-height: 1em;
}
backgroundImage404 h2 span.subTitle {
width: 100%;
}