@charset "utf-8";
body{
	font-family: Noto Sans CJK JP,
				sans-serif;
}

.body-top {
    background: none;
}

.spbr{display: none;}
.spbr_380{display: none;}

@media screen and (max-width:767px){
	.spbr{display: block;}
	.spbr_none{display: none;}
}

#header .head-nav,
#main-nav ul {
    max-width: 1100px;
	width: 100%;
}

.eyecatch-img2{
	background: 
		url(../img/aio-llmoTop.webp) top center / cover no-repeat;
    background-repeat: no-repeat;
    background-position: 70% center;
    background-color: #fff;
	position: relative;
	overflow: visible;
	background-size: 105%;
}

.eyecatch-img2::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.65);
	display: block;
	height: 100%;
	width: 100%;
}


.eyecatch-img2In{
	text-align:center;
	padding-bottom:0;
	z-index: 1;
	overflow: visible;
}

.eyecatch-img2In .eyecatch_mainP{
	margin:0;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);
}

.eyecatch-img2In h2{
	color:#fff;
	font-size:46px;
	line-height:78px;
	margin-top:0;
	padding-top:98px;
	margin-bottom: 16px;
	text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);
}

.aiLogo {
    display: flex;
    flex-direction: row;
    justify-content: center;
	gap: 20px;
	margin-top: 50px;
	flex-wrap: wrap;
}

.gemini,
.chatgpt,
.claude{
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: #fff;
	border-radius: 50px;
	border: solid 2px #cccccc;
	min-width: 210px;
	gap: 10px;
}

.aiLogo p{
	font-weight: bold;
	margin: 11px 0px 15px 0;
}




.eyecatch-img2In li p{font-size: 20px;line-height: 32px;position: inherit;color: #fff;font-weight: bold;margin: 0;}
.eyecatch-img2In .eyecatch_span{font-size: 28px;}

.eyecatch-img2In h3{font-size: 28px; line-height: 48px; color: #fff838; margin: 0; padding-top: 20px;position: inherit;}
.eyecatch-img2In  li:nth-of-type(2) h3{padding: 0;}
/**/

.eyecatch-img2In li{position: relative;height: 320px;width: 28%;}

.eyecatch-img2In li::before{
	content: "";
	background: linear-gradient(90deg, #005ac0, #009334);
    border-radius: 200px;
    width: 110%;
    display: block;
    /* height: 320px; */
    position: absolute;
    top: 0;
    left: -15px;
	bottom: 0;
	right: 0;
}
.eyecatch-img2In ul{
	display:flex;
	width:100%;
	/* table-layout:fixed; */
	padding:40px 0 0;
	overflow:hidden;
	justify-content: center;
	align-items: center;
	gap: 10px;
	transform: translateY(20px);
}

.eyecatch-img2In ul li{
	/* display:table-cell; */
	/* padding:0 10px; */
	position:relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
/* .eyecatch-img2In ul li+li{
	border-left:1px dotted #ccc;
} */


@media screen and (max-width:767px){
	.eyecatch-img2In{width: 100%;}
	.eyecatch-img2In h2{
		font-size: 24px;
    	padding-top: 40px;
    	line-height: normal;
	}
	.eyecatch-img2In .eyecatch_mainP{font-size: 16px; padding-inline: 20px;}

	.eyecatch-img2{
	height: auto;
	background-size: cover;
	background-position: 40% center;
}

	/* .eyecatch-img2In{
	padding:0;
}
.eyecatch-img2In h2{
	padding:20px 65px 0;
	font-size:18px;
}
.eyecatch-img2In h2 br{
	display:none;
}
.eyecatch-img2In p{
	padding:10px 20px 0;
} */
}

/**/

/* .eyecatch-img2In ul li{
	padding:55px 0 0;
	margin-bottom:15px;
} */

.eyecatch-img2In ul li .ico{
	position:absolute;
	top:0;
	left:0;
	right:0;
}

.eyecatch-img2In ul li .ico img{
	height:50px;
	width:auto;
}

.eyecatch-img2In ul li .ico span{
	display:inline-block;
	color:#298983;
	font-size:12px;
	font-weight:bold;
	margin:0 0 0 5px;
	line-height:100%;
	background:url(../../controller/img/ico/ico-arrow1.svg) no-repeat center top;
	background-size:33px;
	padding:43px 0 0;
}

.eyecatch-img2In ul li .text{
	text-align:left;
	font-size:14px;
	line-height:140%;
}

/* .eyecatch-img2In .illust1,
.eyecatch-img2In .illust2{
	position:absolute;
	bottom:0;
	width:174px;
} */

.eyecatch-img2In .illust1{
	position: absolute;
	left:-4%;
	bottom: -4%;
	width: 132px;
	transform: scaleX(-1);
}
.eyecatch-img2In .illust2{
	position: absolute;
	bottom: -4%;
	width: 183px;
	right:-8%;
}

@media screen and (max-width:1150px) and (min-width: 768px){
	.eyecatch-img2In .illust1 {
		position: absolute;
		left: 1%;
		bottom: -7%;
		width: 82px;
		transform: scaleX(-1);
	}

	.eyecatch-img2In .illust2 {
		position: absolute;
		bottom: -7%;
		width: 133px;
		right: 0%;
	}
}
@media screen and (max-width:767px) and (min-width: 480px){
	.eyecatch-img2In .illust1 {
		position: absolute;
		left: 3%;
		bottom: 25%;
		width: 70px;
		transform: scaleX(-1);
	}

	.eyecatch-img2In .illust2 {
		position: absolute;
		bottom: 25%;
		width: 103px;
		right: 2%;
	}
}

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

.eyecatch-img2In li p {font-size: 14px; line-height: normal;}

.eyecatch-img2In .eyecatch_span {font-size: 20px;}

.eyecatch-img2In h3{font-size: 20px; line-height: normal;padding-top: 10px;}

.eyecatch-img2In ul {
    table-layout: none;
    flex-wrap: wrap;
    padding: 60px 10px 20px;
	gap: 5px 20px;
}

.eyecatch-img2In li {
    height: 160px;
    width: 140px;
}

.eyecatch-img2In li::before {
    height: none;
    left: -10px;
    transform: scale(1.2);
}

.aiLogo {
    gap: 10px;
}

.gemini, .chatgpt, .claude {
    transform: scale(0.9);
}

}
@media screen and (max-width:479px){
.eyecatch-img2In .illust1{
    left: 20px;
    bottom: 0%;
    width: 70px;
}
.eyecatch-img2In .illust2{
    bottom: 0%;
    width: 103px;
    right: 2%;
}
}
/*==============================*/
/*content1*/
/*==============================*/

.content1{
	margin:70px auto 20px;
	width: max(100vw, 1000px);
}

.ttl4{
	font-size: 28px;
	line-height: 52px;
	color: #333333;
	text-align: center;
}

.content1 p{
	line-height:180%;
}

.content1_p{
	color: #fff;
	background-color: #0a316a;
	border-radius: 35px;
	text-align: center;	
	max-width: 1000px;
	margin: 0 auto;
	font-size: 26px;
	font-weight: bold;
	padding-block: 10px;
	padding-inline: 10px;
	width: calc(100% - 40px);
}

.content1Main{width: 1000px;margin: 0 auto;}

.content1Main_txt{
	margin: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
	gap: 6%;
	border-bottom: dashed 1px #cccccc;
	padding-bottom: 20px;
}

.content1Main_txt h3{
	font-size: 28px;
}

.content1Main_txt p{
	font-size: 16px;
	color: #333333;
}

@media screen and (max-width:767px){
.content1{
	width:100%;
	margin:0;
}

.content1_p{font-size: 16px !important;}

.content1 p{
	padding:20px;
	font-size:14px;
	margin:20px 0 0;
	text-align: start;
	border-radius: 0;
}

.ttl4 {
    font-size: 20px;
    line-height: normal;
	text-align: start;
}

.content1Main {
    width: 100%;
    margin: 0px auto;
}

.content1Main_txt h3{
	font-size: 20px;
}

.content1Main_txt p{padding: 0;}

.content1Main_txt {
    flex-direction: column;
}

.content1Main_txt img{
	width:80px;
}

}

/* ai検索*/
.ai{
	margin: 0 auto;
	max-width: 1000px;
}

.ai h3{text-align: center; color: #003077; font-size: 24px;margin-top: 2rem;}

.contentAi {
	display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
	border-bottom: dashed 1px #cccccc;
	padding-bottom: 2rem;
	padding-inline: 20px;
}

.content_google {
	display: flex;
    flex-direction: column;
    align-items: center;
	position: relative;
}

.content_google h4,
.content_gemini h4,
.content_chatgpt h4{
	position: relative;
	font-size: 18px;
}

.content_google p,
.content_gemini p,
.content_chatgpt p{
	width: 87%;
}

.content_google h4::before{
	content: "";
	position: absolute;
	background-image: url(../img/google_logo.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: 4px;
	left: -24px;
	width: 20px;
	height: 20px;
}
.content_gemini h4::before{
	content: "";
	position: absolute;
	background-image: url(../img/gemini_logo.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: 4px;
	left: -24px;
	width: 20px;
	height: 20px;
}
.content_chatgpt h4::before{
	content: "";
	position: absolute;
	background-image: url(../img/chatgpt_logo.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: 4px;
	left: -24px;
	width: 20px;
	height: 20px;
}


.content_ai {
    display: flex;
    flex-direction: column;
}

.content_gemini,
.content_chatgpt{
	display: flex;
    flex-direction: column;
    align-items: center;
	position: relative;
}

.googleImg,
.geminiImg,
.chatgptImg{
	position: relative;
}

.googleImg::before{
	position: absolute;
	content: "";
	border: solid 4px #e40000;
	border-radius: 10px;
	width: 100%;
	height: 8%;
	top: 0;
	left: 0;
}
.googleImg::after{
	position: absolute;
	content: "";
	border: solid 4px #e40000;
	border-radius: 10px;
	width: 100%;
	height: 20%;
	top: 238px;
	left: 0;
}

.geminiImg::after{
	position: absolute;
	content: "";
	border: solid 4px #e40000;
	border-radius: 10px;
	width: 66%;
	height: 42%;
	top: 90px;
	right: 10px;
}

.chatgptImg::after{
	position: absolute;
	content: "";
	border: solid 4px #e40000;
	border-radius: 10px;
	width: 67%;
	height: 86%;
	top: 23px;
	right: 10px;
}

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

	.ai h3{font-size: 20px;}

	.contentAi{
		flex-direction: column;
	}
	.contentAi img{
		width: 100%;
	}

	.googleImg::after {
		height: 21%;
		top: 42%;
		left: 0;
	}

	.geminiImg::after {
		width: 70%;
		height: 62%;
		top: 12%;
		right: 0;
	}

	.chatgptImg::after {
		width: 70%;
		height: 85%;
		top: 11%;
		right: 0;
	}

	.content_google p,
	.content_gemini p,
	.content_chatgpt p{
		width: 100%;
		padding: 0;
	}

}

/* step */

.step {
    max-width: 1000px;
    margin: 0 auto;
	padding-inline: 20px;
}

.step_content{
	color: #fff;
	background-color: #0a316a;
	margin: 0 auto ;
	max-width: 1000px;
	border-radius: 10px;
}

.content1_new p{line-height: 26px;}

.step_ttl h2{
	margin: 0;
	font-size: 28px;
	line-height: 42px;
	color: #0a316a;
}

.step_ttl {
    margin-inline: 130px 30px;
    padding-block: 30px 10px;
	position: relative;
}

.step_ttl img{
	position: absolute;
	bottom: 25px;
	left: -110px;
	width: 95px;
	transform: scaleX(-1);
}

.step_list{
	margin-inline: 80px 105px;  
    padding-block: 50px;
}

.step_list h3{
	font-size: 22px;
	margin: 0;
}

.step_list h4{
	font-size: 20px;
	margin: 2rem 0 0;
}

.step_list span{
	font-size: 30px;
	font-family: Roboto;
	font-style: italic;
	margin-right: 10px;
	vertical-align: top;
	position: relative;
	top: -1px;
}

.step_list div{
	margin-top: 20px;
	padding-left: 32px;
}

.step_list p{
	margin: 3px 0 0;
}
.step_list li{
	list-style-type: none;
	border-bottom: dashed 1px #FFF;
	padding-bottom: 1rem;
}

.step_list li:last-child{
	border-bottom: none;
}

.step_txt{
	padding-left: 40px;
	margin-top: 20px !important;
	line-height: 26px;
}

.step_comment{
	position: relative;
	margin-block: 50px 80px;
	padding-inline: 160px 20px;
}

.step_comment img{
	position: absolute;
	bottom: -35px;
	left: -20px;
	width: 173px;
}

.step_comment h4{
	margin: 0;
	font-size: 20px;
}

.step_comment p{line-height: 26px;}

@media screen and (max-width:767px){
	.step{padding-inline: 0;}
	
	.step_content{border-radius: 0;}

	.step_ttl img{
		transform: translateX(-50%) scaleX(-1);
		width: 60px;
		top: 20px;
		left: 50%;
	}

	.step_ttl {
		margin-inline: 30px;
		padding-block: 150px 10px;
		position: relative;
	}

	.step_list{
		margin-inline: 30px;
	}

	.step_list div{
		margin-top: 20px;
		padding-left: 0px;
	}

	.step_ttl h2{font-size: 24px;line-height: normal;}
	.step_ttl p{font-size: 14px;}

	.step_list h3{font-size: 20px;}
	.step_list h4{font-size: 18px; line-height: 26px;}
	.step_list h4 span{font-size: 24px; top: 0;}
	.step_list p{font-size: 14px; padding-left: 0px;}

	.step_comment {
		margin-block: 160px 60px;
		padding-inline: 30px;
	}

	.step_comment img {
		top: -140px;
		left: 50%;
		width: 93px;
		transform: translateX(-50%);
	}
}

/* service */

.service{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 80px;
	padding-inline: 20px;
}
.service::before{
	position: absolute;
	content: "";
	top: 100px;
	left: 0;
	width: 100%;
	height: calc(100% - 100px);
	background: #f2f2f2;
	z-index: -1;
}
.service h2{
	font-size: 100px;
	color: #002a4d;
	font-family: Roboto;
	font-style: italic;
	text-align: center;
	line-height: 180px;
	margin: 0;
}

.service h3{
	margin: 0;
	font-size: 20px;
	text-align: center;
}

.service_p{
	text-align: center;
}

.service_content{
	max-width: 1000px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 26px;
}

.service_list{
	list-style: none;
	background-color: #fff;
	border-radius: 10px;
	padding: 30px 50px 30px 30px;
}
.service_list span {
    font-size: 36px;
    font-family: Roboto;
    font-style: italic;
    margin-right: 20px;
	vertical-align: top;
	position: relative;
	top: -1px;
}

.service_list h4 {
    font-size: 24px;
    margin: 0 0 30px;
	color: #002a4d;
	line-height: 26px;
}

.service_item {
    padding-left: 26px;
}

.service_item p{
	border-bottom: dashed 1px #aaaaaa;
	margin: 0 0 10px;
	padding-bottom: 10px;
}

.service_txt{
	padding-left: 26px;
	margin-bottom: 0;
}


@media screen and (max-width:767px){
	.service::before{
		top: 45px;
		height: calc(100% - 45px);
	}

	.service h2 {
		font-size: min(50px, 12vw);
		line-height: 80px;
	}

	.service h3 {
		margin: 10px 0 0;
		font-size: 18px;
	}

	.service_p {
		font-size: 14px;
	}

	.service_list {
		padding: 30px;
	}

	.service_list h4 {
		font-size: 20px;
		line-height: 30px;
		margin: 0 0 24px;
	}

	.service_list span {
		font-size: 30px;
	}

	.service_item {
		padding-left: 0;
	}

	.service_txt {
		padding-left: 0;
	}

}

@media screen and (max-width:380px){
	.spbr_380{display: block;}
}

/* upgrad */
.upgrad{
	padding-block: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
	padding-inline: 20px;
}

.upgrad_ttl{
	position: relative;

}

.upgrad img{
	position: absolute;
	top: 50px;
	left: -110px;
	width: 110px;
	transform: scaleX(-1);
}

.upgrad h2 {
    font-size: 100px;
    color: #002a4d;
    font-family: Roboto;
    font-style: italic;
    text-align: center;
    line-height: 180px;
    margin: 0;
}

.upgrad h3 {
    margin: 0;
    font-size: 20px;
    text-align: center;
}

.upgrad_p {
    text-align: center;
}

.upgrad_flow{
	max-width: 1000px;
}
.upgrad dt{
	color: #002a4d;
	font-size: 24px;
	font-weight: bold;
	position: relative;
	margin-top: 30px;
	padding-left: 30px;
	margin-inline: 20px;
}

.upgrad dt::before{
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	background: #002a4d;
	border-radius: 50%;
	top: 35%;
	left: 0px;
}

.upgrad dd{
	margin: 1rem 0 0;
	line-height: 26px;
	padding-left: 30px;
	padding-inline: 50px;
}

@media screen and (max-width:767px){
	.upgrad{padding-block: 40px;}
	.upgrad h2{
		font-size: min(50px, 12vw);
		line-height: 100px;
	}

	.upgrad img {
		top: 100px;
		left: 50%;
		width: 50px;
		transform: translateX(-50%) scaleX(-1);
	}

	.upgrad h3{font-size: 18px;padding-top: 110px;}

	.upgrad_p{font-size: 14px;}

	.upgrad dt{margin-inline: 0;font-size: 20px; line-height: normal;padding-left: 25px;}

	.upgrad dt::before {top: 12px;left: 4px;}

	.upgrad dd{padding-inline: 25px 0;}
}

/* contact btn */

.contact_btn{display: flex;	justify-content: space-around;max-width: 1000px;margin: 0 auto;}
.contact_btn li{position: relative;list-style-type: none;}
.contact_btn .mail a{
	background-color:#ffffff; 
	padding: 1rem;
	width: 380px;
	height:45px;
	border-radius:38px;
	display: flex;
	align-items: center;
	text-align: center;
}
.contact_btn .tel a{
	background-color:#ffffff; 
	padding: 1rem;
	width: 380px;
	height:45px;
	border-radius:38px;
	display: flex;
	align-items: center;
	text-align: center;
}

.contact_btn li a span{flex: 1; padding-top: 5px; margin-left: 2rem;}
.contact_btn li a,
.contact_btn li a:link,
.contact_btn li a:visited{
	color: #333333;
	font-weight: bold;
	font-size: 24px;
	text-decoration: none;
}

.contact_btn li a{
	display: flex;
	flex-direction: column;
}
.contact_btn li a::before{
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 30px;
	height:30px;
	position: absolute;
	bottom: 0;
	margin: auto;
	top: 6px;
	left: 4rem;
	}
.contact_btn .mail a::before{
	background-image: url(../img/ico_mail_bl.png);
}
.contact_btn .tel a::before{
	background-image: url(../img/ico_tel_bl.png);
	left: 6rem;
    top: 3px;
}

.contact_btn .tel span{
	padding: 0;
}

.contact_btn .tel_small{
	font-size: 14px;
}

.contact_btn a:hover,
.contact_btn a:link:hover,
.contact_btn a:visited:hover{
	opacity: 0.8;
	transition: 0.3s;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.contact_btn {display: block;}
	.contact_btn li{position: static; margin: auto;}
	.contact_btn li a,
	.contact_btn li a:link,
	.contact_btn li a:visited{
		width: 80%;
		font-size: 18px;
		margin: 0 auto;
		margin-bottom: 1.5rem;
		position: relative;
		height:68px;
	}


	.contact_btn .tel a {
		padding: 0.7rem 1rem 1.3rem 1rem;
	}

	.contact_btn li a span{padding: 0 0 0 2rem; margin: 0;}
	.contact_btn li a::before{
		left: 1rem;
    top: 0.2rem;
	}
	.contact_btn .tel a::before{left:1rem;}
}

@media screen and (max-width: 640px){
	.tel{display: block;}
}


.contact_area{
	position: relative;
	background-color:#002a4d;
	text-align: center;
	padding: 30px 5px 50px;
}

.contact_area02{
	position: relative;
	background-color:#002a4d;
	text-align: center;
	padding: 30px 5px 50px;
	/* width: 100vw; */
	/* margin: 0 calc(50% - 50vw) 0; */
}

.contact_area h2,
.contact_area02 h2{font-size: 25px; font-weight: bold; color: #ffffff; margin-bottom: 30px;}
.contact_area h2 span,
.contact_area02 h2 span{font-size: 25px;line-height: 32px; font-weight: bold; color: #ffffff; margin-bottom: 20px;}
.contact_area h2 .big
.contact_area02 h2 .big{font-size: 45px;}

.contact_area .contact_illust01 img,
.contact_area02 .contact_illust01 img{
	position: absolute;
	top: -17px;
	left: 12%;
	width: 100px;
}
@media screen and (max-width: 1000px){
	/* .contact_area {width: max(100vw, 1000px); margin: 0;} */
	.contact_area02 {width: max(100vw, 1000px); margin: 0;}
}

@media screen and (max-width: 767px) {
	.contact_area02{width: 100vw;}
	.contact_area h2,
	.contact_area02 h2{font-size:22px ; padding-inline: 10px;}
	.contact_area h2 span .big,
	.contact_area02 h2 span .big{font-size: 26px;}
	.contact_area .contact_illust01 img,
	.contact_area02 .contact_illust01 img{display: none;}
}

/* faq */
#faq{  max-width: 1000px;margin: 90px auto 0;}

#faq h2{
	text-align: center;
	font-weight: bold;
	font-size: 100px;
	color: #002a4d;
	font-style: italic;
	font-family: "Roboto", sans-serif;
	line-height: 180px;
	margin: 0;
}

#faq .faq_txt{
	color: #333333; 
	font-size: 16px; 
	text-align: center; 
	line-height: 42px;
	margin-top: 30px;
	font-weight: 500;
}

#faq .faq_list{
	margin-top:1rem;
}
#faq .faq_list .wrap{
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	border-bottom: 3px solid;
    border-image: linear-gradient(to right, black 0 18%, #eeeeee 18% 100%) 1;
    border-image-slice: 1;
	padding: 2rem 3rem 2.5rem 3rem;
	gap: 40px;
}

#faq .faq_list .wrap:last-child {
    border-bottom: none;
}

#faq .wrap span{
	text-align: center;
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    place-content: center;
    font-family: "Roboto",sans-serif;
    font-size: 60px;
    color: #cccccc;
}

.question_box {
    display: flex;
	flex-direction: column;
	align-items: flex-start;
    width: 84%;
	margin-top: 1rem;
}

#faq .question{
	color: #002a4d;
	font-size: 22px;
	font-weight: bold;
	margin-block: 0;
}

#faq .question_plus {
    position: relative;
    width: 40px;
    height: 40px;
    transform-origin: center;
    transition: transform 0.2s ease;
    background-color: #003077;
    border-radius: 20px;
    cursor: pointer;
	margin-top: 1rem;
}

#faq .question_plus::before, #faq .question_plus::after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    transition: transform 0.2s ease;
}

#faq .question_plus::before {
    width: 3px;
    height: 16px;
}

#faq .question_plus::after {
    width: 16px;
    height: 3px;
}

#faq .question_plus.open_faq {
    transform: rotate(90deg);
}

#faq .question_plus.open_faq::after {
    opacity: 0;
}

#faq .answer {
	padding-top: 2rem;
	display: none;
}

#faq .answer p{color: #333333;margin-block: 0;}

#faq .faq_list dd{
	display: none;
	padding: 1.5rem 1.5rem 2.5rem;
	background-color: #eaf6f0;
}

@media screen and (max-width: 767px) {
	#flow_irai .flow_step_txt .step_txt_li dt{font-size: 20px; padding: 0.8rem 0;}
	/* #flow_irai .flow_step_txt .step_txt_li dd{padding: 1rem 1rem 3rem;} */

	#faq{margin-top: 2rem;}
	#faq h2{font-size: 56px;line-height: normal;}
	#faq .faq_txt{font-size: 16px; padding: 0 2rem;line-height: 32px;}
	#faq .faq_list .wrap{ align-items: start;gap: 12px;padding: 1rem 10px 1.5rem 14px;}
	#faq .question_box{margin-top: 1rem; width: 76%;}
	#faq .question{font-size: 14px; padding-left: 5px;}
	#faq .answer{padding-top: 1rem; padding-left: 5px;}
	#faq .wrap span{font-size: 30px; margin-top: 12px;}

	#faq .faq_list dt,#faq .faq_list dd{padding:0.8rem 2.3rem 0.8rem 0.8rem;}
	#faq .faq_list dt{font-size: 16px;}
	#faq .faq_list dt::after{right:1rem; }
	#faq .faq_list{padding: 0 10px;}
	#faq .answer p{font-size: 14px;} 
	#faq .question_plus {width: 25px;height: 25px;}
	#faq .question_plus::before{height: 11px;}
	#faq .question_plus::after{width: 11px;}
}

/*=========会社案内==========*/

#company{max-width: 1500px; margin: 50px auto 0;}

.company_author{
	max-width: 1200px;
	border: solid #dddddd 3px;
	border-radius: 10px;
	padding: 10px 100px 30px 50px;
	margin: 0 auto;
	}

.company_author h4{
	font-size: 16px;
	font-weight: bold;
}

.company_author p{
	margin: 0;
}

.author{margin-bottom: 10px !important;}

.company_inner {
    display: flex;
    flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	width: 90%;
	margin-top: 60px;
}

#company h2 {
    font-size: 48px;
    font-weight: bold;
    text-align: start;
    color: #002a4d;
	margin: 30px 0 50px;
}

#company h3{
	font-size: 30px;
	color: #002a4d;
	font-weight: bold;
	margin-block: 20px;
	line-height: 32px;
}

#company .txt p{line-height: 32px;}

#company table {
    margin-top: 56px;
    margin: 56px auto 30px;
    width: 80%;
}

#company table tr {
    display: flex;
    flex-direction: row;
}

#company table tr:not(:last-child) {
    border-bottom: 1px solid #ccc;
}

#company table th {
    padding-block: 25px;
    display: inline-block;
    width: 18%;
    font-weight: 400;
	text-align: center;
}

#company table td {
    padding: 25px 0 25px 2em;
    display: inline-block;
    width: 80%;
}

#company .vat {
    vertical-align: top;
}

#company .map {
    position: relative;
    display: block;
    margin-top: 1em;
    padding: 5px 1em;
    width: 223px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
    border-radius: 18px;
    border: 1px solid #ccc;
}

#company .map+p {
    margin-top: 2em;
}

#company table p {
    margin: 0;
}

#company .map::before {
    content: "";
    margin-right: 0.5em;
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 20px;
    background: url("../img/google-maps.svg") no-repeat center/contain;
}


#company .tel_pc_cancel {
    text-decoration: none;
    color: #333;
}


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

	#company {margin: 40px auto 0;}
	#company .company_author{margin: 0 10px; padding: 0px 20px 20px 20px;}
	#company .sub_ttl{font-size: 16px; text-align: left; padding: 0 10px;}
	#company .company_ttl{font-size: 20px;}
	#company .address_wrap .content{margin-right: 0; padding: 0 10px;}
	#company .txt h2{font-size: 24px; margin: 20px 0;}
	#company .txt h3{font-size: 20px;}
	#company .company_inner {
    display: flex;
    flex-direction: column;
	align-items: center;
    justify-content: flex-start;
    width: 100%;
	padding-inline: 20px;
}


	#company picture{width: 50%;}
	#company picture img{max-width: 100%;height: auto;}

	#company table{width: 100%;}
	#company table th ,#company table td {font-size: 14px;text-align: start;}
	#company table tr{padding-inline: 20px;}
	#company table th{width: 23%;}
	#company .map{width: 195px;}
}

.new1_other {
    display: flex;
    flex-direction: column;
    align-items: center;
	padding-block: 50px 90px;
	background-color: #eeeeee;
	padding-inline: 20px;
}

.other_txt{
	color: #333333;
	font-size: 28px;
	font-weight: bold;
	line-height: 42px;
}

.new1_other ul{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 3rem;
}

.new1_other li{
	list-style-type: none;
}

.other_box{
	display: flex;
    flex-direction: column;
    align-items: center;
	background-color: #fff;
	border-radius: 10px 10px 0 0;
	width: 210px;
	height: 149px;
	justify-content: center;
	padding: 40px 40px 60px;
}

.other_box span{
	font-size: 24px;
	font-weight: bold;
	color: #000;
	margin-bottom: 10px;
}

.other_img{
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.other_box img{
	margin-bottom: 40px;
}

.other_box p{
	font-weight: bold;
	margin: 0;
	text-align: center;
}

.arrow {
    background-color: #0a316a;
	padding: 40px;
	border-radius: 0 0 10px 10px;
	display: flex;
	justify-content: center;
	cursor: pointer;
}

.arrow img{
	width: 14px;
	transition:transform 0.3s ease;
}

.arrow:hover img{
	transform: translateY(6px);
}

@media screen and (max-width:767px){
	.new1_other ul {
		flex-wrap: wrap;
		justify-content: center;
	}

	.other_box {
		width: 260px;
		height: 179px;
		justify-content: center;
		padding: 60px 10px 60px;
	}

	.other_txt{font-size: 20px;}

	.other_box span {
		font-size: 18px;
	}

	.other_box img {
    margin-bottom: 20px;
}

	.other_box p {
	font-size: 14px;
	}

	.arrow {
		padding: 20px;
	}


}

#footer{margin: 0;}

