@charset "utf-8";

/* -----------------------------
	-area
-------------------------------- */
.contents{
	background: var(--lightblue);
}

#wrapper{
	overflow: clip;
}
#company02{
padding-top: 190px;
    margin-top: -190px;
}
@media screen and (max-width: 768px){
	#company02{
padding-top: 40px;
    margin-top: -40px;
}
}


/* -----------------------------
	intro-area
-------------------------------- */
.intro-area .catch-l{
	padding: 30px 0 0;
	font-weight: bold;
}
.intro-area .basic-txt{
	padding: 30px 0 0;
	width: 750px;
}
.intro-area .image{
	margin: 30px 0 0;
}
@media screen and (max-width: 768px){
	.intro-area {
		position: relative;
		margin: 50px 0 0;
	}
	.intro-area .catch-l{
		padding: 20px 0 0;
	}
	.intro-area .basic-txt{
		padding: 20px 0 0;
		width: 100%;
	}
	.intro-area .image{
		margin: 20px 0 0;
	}
}

/* -----------------------------
	link-area
-------------------------------- */
.link-area{
	margin: 50px 0 0;
}
.link-area ul{
	display: flex;
	justify-content: space-between;
}
.link-area ul li{
	width: calc((100% / 2) - 10px);
	position: relative;
}
.link-area ul li a{
	background: var(--blue);
	
	padding: 20px 30px 40px 30px;
	text-align: center;
	display: block;
}
.link-area ul li .img{
	width: 150px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	display: none;
}
.link-area ul li .title{
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
}
.link-area ul li .basic-txt{
	color: #fff;
}
.link-area ul li::before{
content: '\f103';
    position: absolute;
    font-size: 2.2rem;
    font-weight: 900;
    font-family: var(--webicon);
    transition: .3s all;
	color: #fff;
	bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.link-area ul li:hover::before{
	bottom: 5px;
}
@media screen and (max-width: 768px){
	.link-area{
		margin: 50px 0 0;
	}
	.link-area ul{
		display: flex;
	}
	.link-area ul li{
		width: 49%;
	}
	.link-area ul li::before{
		font-size: 1.6rem;
	}
	.link-area ul li a{
		display: block;
		padding: 15px 10px 30px 10px;
		height: 100%;
	}
	.link-area ul li:nth-child(2){
		margin: 0 0 0;
	}
	.link-area ul li .img{
		width: 100%;
   	 height: 110px;
	}
	.link-area ul li .title{
		font-size: 1.5rem;
		line-height: 1.3;
		text-align: center;
	}
	.link-area ul li .basic-txt{
		display: none;
	}
}

/* -----------------------------
	company-area
-------------------------------- */
.company-area{
	margin: 100px 0 0;
}
.company-area.company02{
	margin: 0;
}

/* top-box */
.company-area .top-box{
	display: flex;
	flex-direction: row-reverse;
}
.company-area .top-box .image{
	margin-right: calc(50% - 50vw);
	object-fit: cover;
}
.company-area .txt-area {
	margin: 0 50px 0 0;
}
.company-area .txt-area .title{
	font-size: 3.5rem;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: var(--blue);
	line-height: 1.4;
}
.company-area .txt-area .catch-l{
	padding: 30px 0 0;
}
.company-area .txt-area .catch-l span{
	display: table;
	font-size: 1.6rem;
	border-bottom: 4px dotted var(--blue);
	padding: 0 0 3px;
	color: var(--blue);
	margin: 0 0 10px;
}
.company-area .txt-area .basic-txt{
	padding: 30px 0 0;
}

/* problem-list */
.company-area .problem-list{
	margin: 80px 0 0;
}
.company-area .problem-list .catch-m{
	text-align: center;
	color: var(--blue);
}

.company-area .problem-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 20px;
	margin: 50px 0 0;
}
.company-area .problem-list ul li{
	width: calc((100% / 3) - 20px);
	background: #fff;
	padding: 65px 20px 20px;
	text-align: center;
	border: dotted 2px var(--blue);
	position: relative;
}
.company-area .problem-list .top-txt{
	background: var(--blue);
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 10px 20px;
	border-radius: 50px;
	position: absolute;
	top: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 90%;
	border: 6px double;
}
/*
.company-area .problem-list .top-txt::before{
	content: '';
	position: absolute;
	width: 20px;
	height: 15px;
	background: var(--blue);
	bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.company-area .problem-list .top-txt::after{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 25px solid transparent;
	border-left: 25px solid transparent;
	border-top: 22px solid var(--blue);
	border-bottom: 0;
	bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}*/
.company-area .problem-list .subcatch{
	color: var(--pink);
	font-weight: bold;
	position: relative;
}
.company-area .problem-list .subcatch:before, 
.company-area .problem-list .subcatch:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 15px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
	background: var(--pink);
}
.company-area .problem-list .subcatch:before {
  left:0;
	margin: 0 0px 0px 30px;
}
.company-area .problem-list .subcatch:after {
  right: 0;
	-webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
	margin: 0 30px 0px 0px;
}

.company-area .problem-list .catch-s{
	padding: 0px 0 0;
}
.company-area .problem-list .basic-txt{
	padding: 10px 0 0;
	text-align: left;
}
/* service-list */
.company-area .service-list{
	margin: 100px 0 0;
}
.company-area .service-list .title{
	font-weight: bold;
    font-size: 3rem;
    letter-spacing: 0.05em;
    line-height: 1.76;
	color: var(--blue);
}
.company-area .service-list .box{
	margin: 20px 0 0;
}
.company-area .service-list .box > div{
	display: flex;
	align-items: center;
	gap: 40px;
}
.company-area .service-list .box > div:nth-child(n + 2){
	margin: 50px 0 0;
}
.company-area .service-list .box > div img{
	width: 350px;
	height: 240px;
	border-radius: 3px;
	object-fit: cover;
}
.company-area .service-list .box > div > div{
	width: calc(100% - 390px);
}
.company-area .service-list .box > div .catch{
	color: var(--blue);
	font-weight: bold;
	font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: var(--blue);
    color: #fff;
    display: inline-block;
    padding: 2px 10px;
	box-shadow: 4px 4px var(--blue);
    outline: 3px solid #fff;
	margin: 5px 0 0;
}
.company-area .service-list .box > div .title{
	font-size: 2.5rem;
    font-weight: bold;
	margin: 20px 0 0;
}
.company-area .service-list .box > div .basic-txt{
	padding: 10px 0 0;
}

.introduction-list{
padding: 30px;
    margin: 50px 0 0;
    border: solid 1px var(--blue);
    background: #fff;
    position: relative;
}
}

.company-area .introduction-list .title{
	font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: var(--blue);
    color: #fff;
    display: inline-block;
    padding: 3px 20px 4px;
    margin: 5px 0 0;
    position: absolute;
    top: -20px;
    border-radius: 30px;
}
.company-area .introduction-list ul{
	display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    margin: 10px 0 0;
}
.company-area .introduction-list ul li{
	position: relative;
    padding: 0 0 0 20px;
}
.company-area .introduction-list ul li::before{
	content: '\f058';
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 900;
    font-family: var(--webicon);
    color: var(--blue);
}

@media screen and (min-width: 769px) {
  .accordion-title {
    pointer-events: none; /* クリック不可に */
    cursor: default;
	  display: none;
  }
  .accordion-content {
    display: block !important; /* 強制表示 */
  }
}
@media screen and (max-width: 768px){
	.company-area{
		margin: 50px 0 0;
	}

	/* top-box */
	.company-area .top-box{
		display: block;
	}
	.company-area .top-box .image{
		margin: 0;
	}
	.company-area .txt-area {
		margin: 0 0 0 0;
	}
	.company-area .txt-area .title{
		font-size: 2.6rem;
		margin: 10px 0 0;
	}
	.company-area .txt-area .catch-l{
		padding: 20px 0 0;
	}
	.company-area .txt-area .catch-l span{
		font-size: 1.5rem;
	}
	.company-area .txt-area .basic-txt{
		padding: 20px 0 0;
	}

	/* problem-list */
	.company-area .problem-list{
		margin: 20px 0 0;
	}
	.company-area .problem-list .catch-m{
		font-size: 1.7rem;
	}

	.company-area .problem-list ul{
		display: block;
		margin: 30px 0 0;
	}
	.company-area .problem-list ul li{
		width: 100%;
		padding: 45px 17px 20px;
	}
	.company-area .problem-list ul li:nth-child(n + 2){
		margin: 40px 0 0;
	}
	.company-area .problem-list .top-txt{
		padding: 7px 20px;
		font-size: 1.4rem;
	}
	.company-area .problem-list .top-txt::before{
		height: 10px;
		bottom: -10px;
	}
	.company-area .problem-list .top-txt::after{
		border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-top: 15px solid var(--blue);
    border-bottom: 0;
    bottom: -20px;
	}
	.company-area .problem-list .subcatch{
		font-size: 1.4rem;
	}
	.company-area .problem-list .subcatch:before, 
	.company-area .problem-list .subcatch:after {

	}
	.company-area .problem-list .subcatch:before {
		margin: 0 0px 0px 25px;
	}
	.company-area .problem-list .subcatch:after {
		margin: 0 25px 0px 0px;
	}
	.company-area .problem-list .catch-s{
	}
	.company-area .problem-list .basic-txt{
	}


	.accordion-content {
		display: none; /* 初期は非表示 */
	}
	.accordion-content.is-open {
		display: block;
	}
	.accordion-title {
		cursor: pointer;
		background: #eee;
		padding: 10px;
		width: 200px;
		margin: 10px auto 0;
		border-radius: 30px;
		display: table;
		font-size: 1.4rem;
		position: relative;
	}
	.accordion-title::before{
		content: '\2b';
		position: absolute;
		font-size: 2rem;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	.accordion-title.is-hidden {
	display: none;
	}


	/* service-list */
	.company-area .service-list{
		margin: 50px 0 0;
	}
	.company-area .service-list .title{
		font-size: 2.6rem;
	}
	.company-area .service-list .box{
		margin: 10px 0 0;
	}
	.company-area .service-list .box > div{
		display: block;
	}
	.company-area .service-list .box > div:nth-child(n + 2){
		margin: 20px 0 0;
	}
	.company-area .service-list .box > div img{
		width: 100%;
		height: 180px;
	}
	.company-area .service-list .box > div > div{
		width: 100%;
	}
	.company-area .service-list .box > div .catch{
		line-height: 1.4;
		padding: 10px;
	}
	.company-area .service-list .box > div .title{
		margin: 10px 0 0;
		font-size: 2rem;
	}
	.company-area .service-list .box > div .basic-txt{
		padding: 10px 0 0;
	}

	.introduction-list{
		padding: 40px 20px 20px;
	}

	.company-area .introduction-list .title{
		font-size: 1.6rem;
        line-height: 1.5;
		top: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
		white-space: nowrap;
	}
	.company-area .introduction-list ul{
		gap: 10px;
	}
	.company-area .introduction-list ul li{
		line-height: 1.5;
	}
	.company-area.company02{
		margin: 0;
	}
}


/* -----------------------------
	faq-area
-------------------------------- */
.faq-area{
	padding: 100px 0 150px;
}
@media screen and (max-width: 768px){
	.faq-area{
		padding: 50px 0;
	}
}