#wrapper {
	position: relative;
}

/* CSS Document */

/*==================================================

メインイメージ

=================================================*/
.main-image{
	margin: 0px auto 0;
	position: relative;
	background-size: 100% auto;
}
.main-image .photo{
	margin: auto;
	z-index: 1;
	position: relative;
}
.main-image .Title{
	position: absolute;
	left: 10%;
	top: 55%;
	transform: translateY(-50%);
	z-index: 10;
	align-items: center;
	flex-wrap: wrap;
	color: #fff;
}
.main-image .Title h2.en{
	font-family: "Jost", sans-serif;
	font-size: clamp(25px, 10vw, 90px);
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: left;
	line-height: 1.0em;
	position: relative;
	letter-spacing: 0.05em;
	text-shadow: 1px 1px 2px black;
}
.main-image .Title p{
	font-size: clamp(15px, 1.6vw, 20px);
	font-weight: 400;
	letter-spacing: 0.05em;
	display: inline-block;
	padding: 0;
	margin: 0;
	text-shadow: 1px 1px 2px black;
}


@media print , screen and (min-width:1px) and (max-width: 960px) {
.main-image{
	margin: 60px auto 0;
	position: relative;
}
.main-image .Title{
	position: absolute;
	left: 5%;
  top: 50%;
  transform: translateY(-50%);
	z-index: 10;
	max-height: 230px;
}

}

@media print , screen and (min-width:1px) and (max-width: 530px) {

}


/*about*/

.about01,
.about02,
.about03,
.about04{
	margin: 3% auto 5%;
	position: relative;
	padding: 3% 0;
}

.about h3{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-weight: 700;
	margin-bottom: 20px;
}
.about h3 .num{
	font-family: "Jost", sans-serif;
	color: #131967;
	font-size: clamp(20px, 7vw, 70px);
	font-weight: 400;padding: 10px;
}

.about h4{
	font-weight: 700;
	background: #131967;
	color: #fff;
	padding: 10px 20px;
	margin-bottom: 20px;
	letter-spacing: 0.1em;
}
.about01 .illust{
	width: 60%;
	margin-right: -10%;
}
.about01 .txt{
	width: 50%;
	padding: 20px;
}
.about01 .txt .txtin{
	max-width: 600px;
}

.about03{
	position: relative;
	z-index: 1;
}
.about03::before{
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 45%;
	background: #122B9F;
	position: absolute;
	z-index: -1;
}

.about03 .illust{
	width: 45%;
	max-width: 500px;
}
.about03 .txt{
	width: 55%;
	padding: 20px;
}
.about03 .txt .txtin{
	max-width: 660px;
	margin: 0 0 0 auto;
	background: #fff;
	padding: 0 40px 40px;
}

.about04 .photor,
.about02 .photor{
	width: 45%;
	order: 2;
	padding: 0 0 0 30px;
}
.about04 .txt,
.about02 .txt{
	width: 55%;
	padding: 20px;
	order: 1;
}
.about04 .txt .txtin,
.about02 .txt .txtin{
	max-width: 600px;
	margin: 0 0 0 auto;
}


@media print , screen and (min-width:1px) and (max-width: 960px) {
.about03 .txt .txtin{
	padding: 0 20px 20px;
}	
}


@media print , screen and (min-width:1px) and (max-width: 768px) {
.about01 .illust{
	width: 100%;
	order: 2;
	margin-right: auto;
}
.about01 .txt{
	width: 100%;
	padding: 20px;
	order: 1;
}
.about04 .photor,
.about02 .photor{
	width: 80%;
	order: 2;
	padding: 0;
	margin: 0 0 0 auto;
}
.about04 .txt,
.about02 .txt{
	width: 100%;
	padding: 20px;
	order: 1;
}

.about03::before{
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background: #122B9F;
	position: absolute;
	z-index: -1;
}
	
.about03 .illust{
	width: 60%;
	order: 2;
	max-width: 500px;
}
.about03 .txt{
	width: 100%;
	order: 1;
	padding: 20px;
}
.about03 .txt .txtin{
	max-width: 660px;
	margin: 0 0 0 auto;
	background: #fff;
	padding: 0;
}

}


@media print , screen and (min-width:1px) and (max-width: 530px) {

.about04 .photor,
.about02 .photor{
	width: 90%;
}
.about03::before{
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25%;
	background: #122B9F;
	position: absolute;
	z-index: -1;
}
.about03 .illust{
	width: 70%;
	order: 2;
	max-width: 500px;
}
}

.pagenavi{
	margin: 3% auto;
}
.pagenavi ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.pagenavi ul li{
	width: 25%;
	padding: 15px 5px;
}
.pagenavi ul li.lil{
	width: 35%;
	padding: 15px 5px;
}
.pagenavi ul li a{
	background: #131967;
	position: relative;
	padding: 20px 10px;
	color: #fff;
	display: block;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
}
.pagenavi ul li a .num{
	display: block;
	width: 50px;
	border-bottom: 1px solid #fff;
	font-family: "Jost", sans-serif;
	margin: auto;
	margin-bottom: 10px;
	
}
.pagenavi ul li a::before {/*三角形左上*/
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-left: 20px solid #ffffff;
  border-bottom: 20px solid transparent;
}
.pagenavi ul li a::after {/*三角形右下*/
	content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-left: 20px solid transparent;
  border-bottom: 20px solid #ffffff;
}
.Item-Content-Flg3 {/*三角形左下*/
  position: absolute;
  bottom: 0;
  left: 0;
  border-right: 40px solid transparent;
  border-bottom: 40px solid #5bc8ac;
}


@media print , screen and (min-width:1px) and (max-width: 768px) {
.pagenavi ul li{
	width: 50%;
	padding: 10px 5px;
}
.pagenavi ul li.lil{
	width: 70%;
	padding: 10px 5px;
}
}


/*事業領域*/

.service{
	margin: 5% auto 8%;
}

.serviceboxl{
	margin: 5% auto 8%;
}
.serviceboxl .txt{
	width: 50%;
	padding: 20px;
}
.serviceboxl .txt h3.line{
	font-weight: 700;
	text-align: left;
	margin: 0 auto 30px 0;
	color: #131967;
	padding: 20px 10px;
	position: relative;
}
.serviceboxl .txt h3.line::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 5px;
	width: 100px;
	background: #6fd5ff;
}
.serviceboxl .photo{
	width: 60%;
	padding: 20px;
	margin-right: -10%;
}


.serviceboxr{
	margin: 5% auto 8%;
}
.serviceboxr .txt{
	width: 50%;
	padding: 20px;
	order: 2;
}
.serviceboxr .txt h3.line{
	font-weight: 700;
	text-align: right;
	margin: 0 auto 30px 0;
	color: #131967;
	padding: 20px 10px;
	position: relative;
}
.serviceboxr .txt h3.line::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	height: 5px;
	width: 100px;
	background: #6fd5ff;
}
.serviceboxr .photo{
	width: 60%;
	padding: 20px;
	margin-left: -10%;
	order: 1;
}
.service .hyo{
	width: 50%;
	padding: 20px;
}
.service .hyol{
	width: 70%;
	padding: 20px;
}
.service .hyos{
	width: 30%;
	padding: 20px;
}
.service .hyol .lline,
.service .hyos .lline,
.service .hyo .lline{
	text-align: left;
	padding: 0 10px;
	margin: 20px 0;
	font-weight: 600;
	border-left: 8px solid #131967;
	color: #131967;
	line-height: 1.2em;
}
.service .hyol table,
.service .hyo table,
.Faq > dl > dd table{
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.6em;
}
.service .hyol table th,
.service .hyo table th,
.Faq > dl > dd table th{
	background: #eeeff4;
	color: #000;
}
.Faq > dl > dd table{
	width: auto;
	max-width: 100%;
}
.Faq > dl > dd .zu{
	width: 80%;
	margin: 20px 0;
	
}
.Faq .fColr{
	color: #ff7300;
	font-weight: 600;
}

@media print , screen and (min-width:1px) and (max-width: 768px) {
.serviceboxl .txt{
	width: 100%;
	padding: 10px;
	order: 1;
}
.serviceboxl .photo{
	width: 80%;
	padding: 10px;
	margin: 0 0 0 auto;
	order: 2;
}
.serviceboxr .txt{
	width: 100%;
	padding: 10px;
	order: 1;
}
.serviceboxr .photo{
	width: 80%;
	padding: 10px;
	margin: 0 auto 0 0;
	order: 2;
}
}
@media print , screen and (min-width:1px) and (max-width: 680px) {
	
.service .hyo{
	width: 100%;
	padding: 0 10px;
}
.service .hyol{
	width: 100%;
	padding: 0 10px;
}
.service .hyos{
	width: 100%;
	padding: 0 10px;
}	
}


@media print , screen and (min-width:1px) and (max-width: 480px) {
.serviceboxl .photo{
	width: 90%;
	padding: 10px;
	margin: 0 0 0 auto;
	order: 2;
}
.serviceboxr .photo{
	width: 90%;
	padding: 10px;
	margin: 0 auto 0 0;
	order: 2;
}
}

/*company*/

.news h3.line,
.company h3.line{
	margin: 3% auto 5%;
	padding: 20px;
	font-weight: 700;
	color: #131967;
	text-align: center;
	position: relative;
}
.news h3.line::after,
.company h3.line::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	margin: auto;
	width: 100px;
	height: 5px;
	bottom: 0;
	background: #6fd5ff;
}
/*news*/

.news{
	margin: 3% auto 8%;
}
.newsdetail .news_main{
	width: 80%;
	padding: 20px;
}
.newsdetail .news_main th .cat,
.newsdetail .news_main td .cat{
	width: 110px;
	text-align: center;
	background: #131967;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
	display: inline-block;
	margin-right: 10px;
}
.newsdetail .news_main td a{
	text-decoration: none;
	color: #111;
}
.newsdetail .news_nav{
	width: 20%;
	padding: 20px 10px;
}
.newsdetail .news_nav h4{
	text-align: left;
	color: #131967;
	font-weight: 700;
	margin-bottom: 10px;
	
}
.newsdetail .news_nav ul{
	margin-bottom: 20px;
}
.newsdetail .news_nav ul li{
	text-align: left;
	color: #111;
	text-decoration: none;
	font-size: clamp(14px, 1.5vw, 15px);
	padding-left: 10px;
}
.newsdetail .news_nav ul li a{
	color: #111;
	text-decoration: none;
}
.newsdetail .news_nav ul li::before{
	content: "●";
	color: #131967;
	font-size: 0.6em;
	margin-right: 5px;
}
.newsinfo{
	margin: auto;
	text-align: center;
	font-size: clamp(14px, 1.5vw, 15px);
}
.newsinfo a{
	color: #131967;
}
.newscontent{
	margin: 3% auto;
}
.newscontent p{
	margin-bottom: 3%;
}
@media print , screen and (min-width:1px) and (max-width: 960px) {
	
.newsdetail .news_main{
	width: 70%;
	padding: 20px;
}
.newsdetail .news_nav{
	width: 30%;
	padding: 20px 10px;
}

.newsdetail .news_main td .cat{
	display: block;
	}
}
@media print , screen and (min-width:1px) and (max-width: 768px) {
	
.newsdetail .news_main{
	width: 100%;
	padding: 20px 10px;
}
.newsdetail .news_nav{
	width: 100%;
	padding: 20px 20px;
}
	
}


/*greeting*/

.company{
	margin: 3% auto 8%;
}
h4.catch{
	font-size: clamp(20px, 3.0vw, 30px);
	color: #6fd5ff;
	text-align: center;
	font-weight: 700;
	margin: 3% auto;
}
.name{
	text-align: right;
	margin: 20px 0 3% auto;
}
.name strong{
	font-size: 1.3em;
}

.company .photoL{
	width: 45%;
	padding: 20px;
}
.company .txtS{
	width: 55%;
	padding: 20px;
}
.company .txtS h4.glay{
	text-align: left;
	font-weight: 700;
	margin-bottom: 10px;
	color: #666464;
	padding: 10px;
}
.company .txtS p{
	margin-bottom: 10px;
}

.company .txtL{
	width: 50%;
	padding: 20px;
	max-width: 450px;
}
.company .photoS{
	width: 35%;
	margin-left: 15%;
	padding: 20px;
}

.company .txtL h4.catch{
	text-align: left;
	
}
.company .txtL p.sub{
	text-align: right;
	color: #6fd5ff;
	font-size: clamp(13px, 1.5vw, 15px);
}

@media print , screen and (min-width:1px) and (max-width: 768px) {

.company .photoL{
	width: 70%;
	margin: 0 0 0 auto;
	padding: 10px;
	order: 2;
}
.company .txtS{
	width: 100%;
	order: 1;
	padding: 10px;
}

.company .txtL{
	width: 60%;
	padding: 10px;
	max-width: 450px;
}
.company .photoS{
	width: 40%;
	margin-left: 0%;
	padding: 10px;
}
}
@media print , screen and (min-width:1px) and (max-width: 460px) {
.company .photoL{
	width: 90%;
	margin: 0 0 0 auto;
	padding: 10px;
	order: 2;
}
.company .txtL{
	width: 100%;
	order: 1;
	padding: 10px;
	max-width: 450px;
}
.company .photoS{
	width: 60%;
	order: 2;
	padding: 10px;
}
}

/*sdgs*/
.sdgs-zu{
	position: relative;
	z-index: 1;
	padding-bottom: 5%;
}
.sdgs-zu::before{
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 30%;
	background: #162c99;
	left: 0;
	bottom: 0;
}
.sdgs-list{
	background: #eaf6fd;
	padding: 3% 0;
}
.sdgs-list .sdgs01,
.sdgs-list .sdgs02,
.sdgs-list .sdgs03,
.sdgs-list .sdgs04{
	width: 25%;
	padding: 10px;
}
.sdgs-list .sdgs01 .num,
.sdgs-list .sdgs02 .num,
.sdgs-list .sdgs03 .num,
.sdgs-list .sdgs04 .num{
	font-size: 1.4em;
	padding: 5px 0;
	display: inline-block;
}


.sdgs-list .sdgs01 a,
.sdgs-list .sdgs02 a,
.sdgs-list .sdgs03 a,
.sdgs-list .sdgs04 a{
	display: block;
	background: #fff;
	padding: 10px;
	color: #141963;
	text-decoration: none;
	font-size: clamp(14px, 1.5vw, 15px);
	font-weight: 700;
}
.sdgs-list a h4{
	font-size: clamp(16px, 1.9vw, 19px);
	line-height: 1.2em;
	font-weight: 700;
}
.sdgs-list a .ico{
	margin: 10px 0;
}
.sdgsbox{
	margin: 0 auto;
	padding: 5% 0;
}
#sdgs02,#sdgs04{
	background: #e7f6fe;
}
.sdgsbox h3{
	text-align: left;
	font-weight: 700;
	color: #131967;
	margin-bottom: 20px;
}
.sdgsbox h3 .num{
	display: inline-block;
	font-size: 1.4em;
	color: #6fd5ff;
	margin-right: 10px;
}
.sdgsbox .photo{
	position: relative;
}

.sdgsbox .photo .ico{
	position: absolute;
	right: 0;
	bottom: 0;
	background: #fff;
}
.sdgsbox .photo .ico ul{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 10px;
}
.sdgsbox .photo .ico ul li{
	width: 100px;
	padding: 5px;
}
.sdgsbox p{
	margin: 20px auto;
}
.sdgsbox .bluewaku{
	background: #e7f6fe;
	padding: 40px 20px 20px;
	margin-top: 40px;
	position: relative;
}
#sdgs02 .bluewaku,
#sdgs04 .bluewaku{
	background: #ffffff;
}
.sdgsbox .bluewaku .midashi{
	position: absolute;
	left: 20px;
	top: -15px;
	background: #131967;
	color: #fff;
	display: inline-block;
	padding: 5px 10px;
	
}
.sdgsbox .bluewaku ul.maru li{
	padding: 5px 20px;
	text-align: left;
	text-indent: -1em;
	
}
.sdgsbox .bluewaku ul.maru li::before{
	content: "●";
	color: #131967;
	font-size: 0.6em;
	margin-right: 5px;
}
@media print , screen and (min-width:1px) and (max-width: 960px) {
.sdgs-list .sdgs01,
.sdgs-list .sdgs02,
.sdgs-list .sdgs03,
.sdgs-list .sdgs04{
	width: 50%;
	max-width: 300px;
	padding: 10px;
}
.sdgsbox .photo .ico ul li{
	width: 70px;
	padding: 5px;
}
.sdgsbox .photo .ico ul{
	padding: 5px 0 0 5px;
}
.sdgsbox .bluewaku .midashi{
	padding: 5px 5px;
	
}
.sdgsbox .bluewaku ul.maru li{
	padding: 5px 10px;
	text-align: left;
}
}
@media print , screen and (min-width:1px) and (max-width: 460px) {
.sdgs-list .sdgs01,
.sdgs-list .sdgs02,
.sdgs-list .sdgs03,
.sdgs-list .sdgs04{
	width: 50%;
	padding: 5px;
}
.sdgs-list .sdgs01 a,
.sdgs-list .sdgs02 a,
.sdgs-list .sdgs03 a,
.sdgs-list .sdgs04 a{
	padding: 5px;
}
.sdgsbox .photo .ico ul li{
	width: 50px;
	padding: 2px;
}
}

.company td a.map{
	background: #131967;
	color: #fff;
	display: inline-block;
	padding: 0 10px;
	font-size: 0.9em;
	text-decoration: none;
	line-height: 1.5em;
	margin: 0 10px;
}

.company .bluewaku{
	background: #e2f7ff;
	margin: 3% auto;
	padding: 30px;
}
.company .bluewaku .catch{
	color: #131967;
	font-size: clamp(22px, 3.2vw, 32px);
	font-weight: 700;
	margin-bottom: 20px;
}
.company .bluewaku .glay{
	font-weight: 700;
	color: #7b8990;
	font-size: clamp(16px, 2.2vw, 22px);
}
#ayumi table th{
	font-size: 1.2em;
	font-weight: 600;
}
#ayumi table h4{
	color: #131967;
	font-weight: 600;
	font-size: clamp(15px, 2.0vw, 20px);
	padding: 0 10px 10px;	
}
#ayumi table .photo{
	margin: 10px auto;
	padding: 10px;
}
#ayumi table p{
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.8em;
	margin-bottom: 20px;
}
#ayumi table img{
	width: auto;
	max-width: 100%;
	height: auto;
}
#ayumi table .photo.comname{
	max-width: 400px;
	margin: 10px auto 10px 0;
}

/*contact*/

.contact{
	margin: 5% auto 8%;
}
.contact p{
	margin-bottom: 3%;
}
.contact h4.line{
	text-align: left;
	font-weight: 700;
	color: #131967;
	padding: 10px;
	margin-bottom: 20px;
	border-bottom: 1px solid #9fa0a0;
}


.form-style {
	
}
.form-style th{
	position: relative;
	padding-right: 40px;
}
.contact .need{
	background: #ff4141;
	color: #fff;
	padding: 5px;
	line-height: 1.0em;
	width: 40px;
	font-size: 0.9em;
}
.form-style th .need{
	background: #ff4141;
	color: #fff;
	padding: 5px;
	line-height: 1.0em;
	position: absolute;
	right: 5px;
	width: 40px;
	top: 20px;
	font-size: 0.9em;
}
.form-style input {
	font-size: clamp(1.4rem, 1.6vw, 1.6rem);
}
.form-style input[type="checkbox"] {
	margin: 0 0.5em;
}
.form-style input[type="text"],.form-style textarea {
	color: #000!important;
	border: 1px solid #bdbdbd;
	background: #FFF;
	padding: .5em 1em;
	
	/* animation */
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.form-style textarea {
	display: block;
	margin-bottom: 0;
}
.form-style input[type="text"]:focus,.form-style textarea:focus {
	border: 1px solid #bdbdbd;
	background: #FFF;
	outline: 0;
}

.form-style #checkbox label{
	display: inline-block;
	margin-right: 20px;
}
.form-style input[type="number"] {
	border: 1px solid #bdbdbd;
	border-radius: 6px;
	background: #FFF;
	margin: 10px 10px 10px 0;
	padding: 3px;
}
.form-style input[type="radio"] {
	margin-left: 2px;
	margin-right: 6px;
}
.form-style select::-ms-expand {
	display: none;
}
.form-style select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: 1.1em;
	border-radius: 5px;
	border: 1px solid #bdbdbd;
	background-image: url(../img/common/arrow_u.png);
	background-repeat: no-repeat;
	background-size: 10px 7px;
	background-position: right 10px center;
	background-color: #FFF;
	padding: 7px 30px 7px 10px;
	margin: 10px 10px 10px 0;
}
.form-style select:focus {
	border: 1px solid #399ae3;
	outline: 0;
}
input::-webkit-input-placeholder {
	color: #CCC;
}
input:-ms-input-placeholder {
	color: #CCC;
}
input::-moz-placeholder {
	color: #CCC;
}

.formwidth-ss {
	width: 100px;
}
.formwidth-s {
	width: 15%;
}
.formwidth-ms {
	width: 25%;
}
.formwidth-m {
	width: 60%;
}
.formwidth-l {
	width: 100%;
}
.regi-buttun {
	text-align: center;
	margin: 3% 0 0;
}


.contact .Sendbtn{
		margin: 5% auto 0;
	width: 70%;
	display: flex;
	justify-content: center;
}
.contact .Sendbtn .btnsend,
.contact .Sendbtn .btnback{
	width: 50%;
	display: block;
	text-align: center;
}

.contact .Sendbtn .btnsend input{
	background: #131967;
	color: #fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
	border:none;
}
.contact .Sendbtn .btnback input{
	background: #b8c6cc;
	color: #303435;
	display: block;
	padding: 15px 10px;
	width: 100%;
	border:none;
}
.contact .Sendbtn .btngreen:hover
.contact .Sendbtn .btnglay:hover{
	opacity: 0.7;
}

[class^="button-"] {
	width: 46%;
	display: block;
	-webkit-appearance: none;
	cursor: pointer;
	float: left;
	font-size: clamp(1.4rem, 1.6vw, 1.6rem);
	text-align: center;
	padding: 4% 0;
	margin: 0 2%;
	border-radius: 30px;
	font-weight: 500;
}

#submit[disabled] { 
	cursor: default;
	background: #CCC;
	border: 3px solid #CCC;
}
#submit[disabled]:hover {
	color: #FFF;
}

/* cf */

.entry-area:after {
    content:" ";
    display:block;
    clear:both;
}

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

.form-style th .need{
	background: #ff4141;
	color: #fff;
	padding: 2px 5px;
	display: inline-block;
	margin-left: 8px;
	line-height: 1.0em;
	position: relative;
	right: inherit;
	width: auto;
	top: inherit;
}
    .attention {
        margin-bottom: 4%;
        padding: .5em 1em;
    }
	.title-s {
		font-size: clamp(1.6rem, 1.8vw, 1.8rem);
		margin-bottom: 6%;
	}
	.contact-att-send {
		width: 100%;
		padding: 5%;
	}
	.contact-att-send p strong {
		font-size: clamp(1.6rem, 1.8vw, 1.8rem);
	}
    
    
.contact .Sendbtn {
		width: 100%;
		margin: 8% auto 0;
	}
	.form-style input[type="text"],.form-style textarea {
		padding: .4em .7em;
	}
	.formwidth-m,.formwidth-l {
		width: 98%;
	}
	.formwidth-s {
		width: 4.5em;
	}
	.formwidth-ss {
		width: 100px;
	}
    [class^="button-"] {
		width: 50%;
        font-size: 1.3rem!important;
		margin: 0 auto;
    }
	
}

/*Faq*/

.Faq{
	margin: 5% auto 8%;
}

.Faq_box{
	margin: 0 auto 8%;
}


.Faq > dl {
	border:1px #d9d8d8;
	border-bottom-style:solid;
}

.Faq > dl > dt {
	padding:30px 40px 30px 60px;
	font-size: 1.8rem;
	line-height: 1.5em;
	text-align: left;
	font-weight: 600;
	color: #122b9f;
}
.Faq > dl > dt::after{
	content: "+";
	color: #122b9f;
	position: absolute;
	font-size: 2.2rem;
	font-weight: 700;
	right: 15px;
	top: 15px;
	width: 35px;
	height: 35px;
	line-height: 35px;
	text-align: center;
}
.Faq > dl > dt.open::after{
	content: "−";
	color: #122b9f;
	position: absolute;
	font-size: 2.2rem;
	font-weight: 700;
	right: 15px;
	top: 15px;
	width: 35px;
	height: 35px;
	line-height: 35px;
	text-align: center;
}
.Faq > dl > dt:hover {
	cursor:pointer;
}

.Faq > dl > dd {
	padding:30px 30px 50px 60px;
	display:none;
	text-align: left;
}

.Faq > dl > dt,
.Faq > dl > dd {
	position:relative;
}


.Faq > dl > dt span {
	position:absolute;
	left:10px;
	top:25px;
	font-family: "Jost", sans-serif;
	color: #122b9f;
	font-size: clamp(22px, 3.2vw, 32px);
	border-radius: 5px;
}
.Faq > dl > dd span.a {
	position:absolute;
	left:10px;
	top:40px;
	font-family: "Jost", sans-serif;
	color: #6fd5ff;
	font-size: clamp(22px, 3.2vw, 32px);
	border-radius: 5px;
}
.Faq > dl > dd h4.lline{
	text-align: left;
	padding: 0 10px;
	margin: 20px 0;
	font-weight: 600;
	border-left: 8px solid #131967;
	color: #131967;
	line-height: 1.2em;
}

@media print , screen and (min-width:1px) and (max-width: 768px) {

.Faq > dl > dt {
	padding:20px 50px 20px 40px;
	line-height: 1.4em;
	font-size: 1.6rem;
}
	
.Faq > dl > dt::after{
	right: 10px;
	top: 15px;
	font-size: 1.8rem;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
}
.Faq > dl > dt.open::after{
	right: 10px;
	top: 15px;
	font-size: 1.8rem;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
}
	
.Faq > dl > dd {
	padding:20px 30px 50px 50px;
	display:none;
	line-height: 1.6em;
}
.Faq > dl > dt span {
	position:absolute;
	left:5px;
	top:15px;
}
}
@media only screen and (min-width:1px) and (max-width: 480px) {

.Faq > dl > dt {
	padding:15px 45px 20px 32px;
	font-size: 1.5rem;
}	
.Faq > dl > dd {
	padding:20px 20px 20px 40px;
}
}

.flow{
	margin: 5% auto;
}
.flow .ico{
	max-width: 150px;
	width: 25%;
	margin: 3% auto;
}
.flow h3.tuline{
	text-align: center;
	font-weight: 700;
	margin: 3% auto;
	color: #131967;
	border-top: 1px solid #131967;
	border-bottom: 1px solid #131967;
}

@media only screen and (min-width: 769px) {
.service-flow{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	margin: 5% auto;
	overflow: hidden;
}

.service-flow li{
	width: 20%;
	margin-left: -3.4%;
	padding-bottom: 150px;
}
.service-flow li .flow-body-wrap{
	background: url("../img/service/back.svg") right center no-repeat;
	background-size: auto 100%;
	transition: transform .6s ease; /* ゆっくり変化させる */
	padding: 30px 25px 30px 40px;
	display: block;
}
.service-flow li .flow-body-wrap.selected,
.service-flow li .flow-body-wrap:hover{
  transform: scale(1.1); /* 拡大 */
}
.service-flow li.flow01{
	z-index: 10;
}
.service-flow li.flow02{
	z-index: 9;
}
.service-flow li.flow03{
	z-index: 8;
}
.service-flow li.flow04{
	z-index: 7;
}
.service-flow li.flow05{
	z-index: 6;
}
.service-flow li.flow06{
	z-index: 5;
}
.service-flow li .service-flow-content{
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 100%;
  padding: 20px;
  border: 2px solid #b8bad1;
  border-radius: 8px;
  background-color: #ffffff;
  text-align: left;
	z-index: 20;
	display: none;
}
.service-flow li.flow01 .service-flow-content{
	display: block;
}
.service-flow li .service-flow-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  border-style: solid;
  border-width: 0 10px 20px 10px;
  border-color: transparent transparent #b8bad1;
  translate: -50% -100%;
}
.service-flow li .service-flow-content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  border-style: solid;
  border-width: 0 7.8px 15.5px 7.8px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%;
}


.service-flow li.flow01 .service-flow-content::before {
  left: 8%;
}
.service-flow li.flow02 .service-flow-content::before {
  left: 22%;
}
.service-flow li.flow03 .service-flow-content::before {
  left: 38%;
}
.service-flow li.flow04 .service-flow-content::before {
  left: 56%;
}
.service-flow li.flow05 .service-flow-content::before {
  left: 72%;
}
.service-flow li.flow06 .service-flow-content::before {
  left: 88%;
}

.service-flow li.flow01 .service-flow-content::after {
  left: 8%;
}
.service-flow li.flow02 .service-flow-content::after {
  left: 22%;
}
.service-flow li.flow03 .service-flow-content::after {
  left: 38%;
}
.service-flow li.flow04 .service-flow-content::after {
  left: 56%;
}
.service-flow li.flow05 .service-flow-content::after {
  left: 72%;
}
.service-flow li.flow06 .service-flow-content::after {
  left: 88%;
}

.service-flow li .service-flow-content h3{
	width: 30%;
	padding: 5px 10px;
	text-align: left;
	font-size: clamp(18px, 2.2vw, 22px);
	font-weight: 700;
	color: #006bff;
	border-right: 1px solid #b8bad1;
}
.service-flow li .service-flow-content h3 .num{
	font-size: clamp(16px, 1.8vw, 18px);
	display: inline-block;
	background: #131967;
	color: #fff;
	border-radius: 20px;
	padding: 5px 20px;
	line-height: 1.3em;
	font-family: "Jost", sans-serif;
}
.service-flow li .service-flow-content .txt{
	width: 70%;
	padding: 5px 10px;
	line-height: 1.5em;
	font-size: clamp(14px, 1.6vw, 16px);
}
}
@media only screen and (min-width:1px) and (max-width: 768px) {

.flow .ico{
	max-width: 150px;
	width: 25%;
	margin: 50px auto 3%;
}
	.flow-set{
		margin: 100px auto 0;
	}
.flow-set li{
	width: 100%;
	background: url("../img/service/backs.svg") center bottom no-repeat;
	background-size: cover;
	padding: 70px 40px 40px;
	margin: 0 auto;
	margin-top: -60px;
	position: relative;
}
.flow-set li.flow01{
	z-index: 10;
	padding: 30px 40px 40px;
}
.flow-set li.flow02{
	z-index: 9;
}
.flow-set li.flow03{
	z-index: 8;
}
.flow-set li.flow04{
	z-index: 7;
}
.flow-set li.flow05{
	z-index: 6;
}
.flow-set li.flow06{
	z-index: 5;
}
	.flow-set li .flow-title{
		width: 80%;
		max-width: 250px;
		text-align: center;
		margin: auto;
	}
	
	.flow-info{
		margin: 10px auto;
	}
.flow-info .txt{
	line-height: 1.5em;
	font-size: clamp(13px, 1.6vw, 16px);
	text-align: center;
}
	.flow-info .txt p{
		text-align: center;
	}
	

}