@charset "UTF-8";
@import"style.css";

/*--------------------------------------------------------------------------------
 *
 * style.cssの内容をリセット・再定義
 *
--------------------------------------------------------------------------------*/
#kasouu_kv  {
	background: #333;
	height: 250px;
}

#kasouu_kv .background {
	height: 250px !important;
  opacity: 0.4;
  object-fit: cover;
}
#kasouu_kv .inner {
	height: 250px;
	display: flex;
    align-items: center;
    justify-content: center;
}
#kasouu_kv .txt-wrapper h1 {
	color: #fff;
	font-size: 3.5em;
	line-height: 1.2;
	font-family: "futura-pt", sans-serif;
	text-align: center;
}
#kasouu_kv .txt-wrapper p {
	color: #f5f5f5;
	font-size: 24px;
	text-align: center;
}

@media screen and (max-width:766px){
	#kasouu_kv {
		height: 200px;
	}
	#kasouu_kv .background {
		height: 200px !important;
	}
	#kasouu_kv .inner {height: 200px;}
	#kasouu_kv .txt-wrapper h1 {
		font-size: 10vw;
	}
}

/*---------- 共通 ----------*/
#kaso .title h2 {
    font-size: 35px;
    text-align: center;
}
#kaso .title h3 {
    font-size: 20px;
    font-weight: bold;
    color: #003caf;
}

@media screen and (max-width:766px){
	#kaso .title h2 {font-size: 6vw;}
}


/*--------------------------
         会社概要
--------------------------*/
/*---------- company ----------*/
/*
#page_company .company .company-wrapper {
	display: flex;
	justify-content: space-between;
}

#page_company .company iframe{
	flex-basis: 47%;
}
*/


#page_company .company table {
	flex-basis: 100%;
}
#page_company .company table tr {
	border-top: 1px solid;
}
#page_company .company table tr:last-of-type {
	border-bottom: 1px solid;
}
#page_company .company table th {
	padding: 20px 0;
  width: 20%;
  font-weight: bold;
}
#page_company .company table td {
	padding: 10px 0 10px 20px;
  line-height: 1.8;
  width: 80%;
}
#page_company .company table td .img {
    display: block;
	max-width: 200px;
	margin: 20px 0;
	width: 100%;
}
#page_company .company table td.address dl {
    display: flex;
    justify-content: space-between;
}
#page_company .company table td.address dl:not(:last-pf-type) {border-bottom: 1px solid #eee;}
#page_company .company table td.address dt {
	flex-basis: 45%;
}
#page_company .company table td.address dd {
	flex-basis: 50%;
	padding: 0;
}
#page_company .company table td.address dd iframe {
	width: 100%;
	height: 200px;
	
}

@media screen and (max-width:766px){
	#page_company .company table tr {display: grid;}
	#page_company .company table th {width: 100%; padding: 20px 10px 0;}
	#page_company .company table td {
		width: 100%;
		padding: 20px 10px;
	}
	#page_company .company table td.address dl {
		display: block;
	}
	#page_company .company table td.address dd iframe {height: 55vw; margin: 2vw 0;}
	#page_company .company table td ul.list-wrapper {margin: 0 0;}
}

/*---------- policy ----------*/
#page_company .policy .policy-wrapper {border: 4px solid; padding: 50px;}
#page_company .policy p span {font-weight: bold;}
#page_company .policy p:last-of-type {text-align: right; font-weight: bold; margin-top: 30px;}


/*---------- member ----------*/
#page_company .member .inner {width: 96%; max-width: 100%; overflow: hidden;}
#page_company .member .ttl {max-width: 1100px; width: 96%; margin: 0 auto 40px;}
#page_company .member .member-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 50px 80px;
}
#page_company .member .img-wrapper {
	flex-basis: 25%;
	text-align: center;
}
#page_company .member .img-wrapper img {
	margin-bottom: 10px;
  width: 200px;
  height: 200px;
  object-fit: cover;
  overflow: hidden;
  border-radius: 50%;
}
/*---------- 写真切り抜き ----------*/
#page_company .slide2 .img-wrapper img {
	object-position: 50% 0;
}
#page_company .slide4 .img-wrapper img {
	object-position: 50% -20px;
}
#page_company .slide5 .img-wrapper img {
	object-position: 50% 0px;
}
#page_company .slide6 .img-wrapper img {
	object-position: 50% -20px;
}
#page_company .slide7 .img-wrapper img {
	object-position: 50% -20px;
}
#page_company .member .txt-wrapper {
	flex-basis: 70%;
}
#page_company .member .txt-wrapper ul.list-wrapper {
	display: flex; 
}
#page_company .member h3 {
	font-size: 20px;
	margin-bottom: 0;
	font-weight: bold;
}
#page_company .member h4 {
	font-size: 16px;
	text-align: center;
}
#page_company .member ul {margin: 20px 0;}
#page_company .member ul > li {position: relative; padding-left: 1.5em; font-size: 12px;}
/*
#page_company .member ul li:before {content:"⚫︎";
	position: absolute;
    font-size: 10px;
    top: 1em;
    left: 1em;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
*/
/*---------- advisor ----------*/
#page_company #advisor .member-wrapper {padding: 30px 80px;}

/*---------- スライダー ----------*/
.swiper-container {position: relative; max-width: 1100px !important;
    margin: 0 auto !important;
    overflow: visible !important;}
.swiper-slide{height: auto !important;}
.member-wrapper{ height: 100%; 	border: 1px solid;}
.swiper-button-next:after, 
.swiper-button-prev:after {color: #333;}


@media screen and (max-width:966px){
	#page_company .member .img-wrapper img {width: 130px; height: 130px;}
}

@media screen and (max-width:766px){
	#page_company .member .member-wrapper {
		display: block;
		padding: 40px 35px;
	}
	#page_company .member .img-wrapper {
		margin-bottom: 30px;
	}
	#page_company .member .img-wrapper img {
		width: 150px;
    height: 150px;
	}
	#page_company .member .inner {
		width: 90%;
	}
	#page_company #advisor .member-wrapper {padding: 40px 35px;}
	.swiper-button-next:after, 
	.swiper-button-prev:after {
		font-size: 20px !important;
	}
	.swiper-button-prev, 
	.swiper-rtl .swiper-button-next {
		left: 0px !important;
	}
	
	.swiper-button-next, 
	.swiper-rtl .swiper-button-prev {
		right: 0px !important;
	}
}

/*--------------------------
          事業内容
--------------------------*/
/*
#page_service .service ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#page_service .service ul li {
	flex-basis: 48%;
}
#page_service .service ul li img {
	width: 100%;
	margin-bottom: 20px;
}
#page_service .service ul li h3 {
	font-weight: bold;
	text-align: center;
	margin-bottom: 60px;
}

@media screen and (max-width:766px){
	#page_service .service ul li {
		flex-basis: 100%;
	}
	#page_service .service ul li h3 {
		margin-bottom: 40px;
	}
}
*/

/*---------- product ----------*/
#page_service .product h2 {color: #333;}
#page_service .product p {color: #333;}
#page_service .product .product-ttl-wrapper {background: #f5f5f5; padding: 50px;}
#page_service .product .product-ttl-wrapper p {font-size: 28px; text-align: center;}
#page_service .product .product-ttl {display: flex; align-items: center; justify-content: center; margin-bottom: 20px;}
#page_service .product .product-ttl div {flex-basis: 50%; padding: 0 15px;}
#page_service .product .product-ttl h3 {margin-bottom: 0; font-size: 30px;}
#page_service .product .product-ttl h3 span {font-size: 45px; padding-right: 15px;}

#page_service .product .product-wrapper {margin: 80px 0 0 0;
    border-top: 4px solid;
    padding: 80px 0 0 0;}
#page_service .product .product-wrapper h4 {font-weight: bold;
    font-size: 45px;
    margin-bottom: 20px;}
#page_service .product .product-wrapper p {font-size: 26px;}
#page_service .product .product-01	{margin: 30px 0 80px 0; background: #f5f5f5; padding: 50px;}
#page_service .product .product-01 h5 {font-size: 26px; text-align: center; margin-bottom: 20px;}
#page_service .product .product-01 h5 span {font-size: 28px; font-weight: bold;}
#page_service .product .product-01 p {font-size: 18px; text-align: center;}

#page_service .product .product-02 ul,
#page_service .product .product-03 ul {
	padding: 30px 30px 30px 50px;
    /* display: inline-block; */
    margin: 30px 0 0px 0;
    background: #f5f5f5;
}
#page_service .product .product-02 ul li,
#page_service .product .product-03 ul li {
    font-size: 20px;
    padding: 15px 0 15px 10px;
    position: relative;
}
#page_service .product .product-02 ul li:after,
#page_service .product .product-03 ul li:after {
    font-family: 'Font Awesome 5 Pro';
    content: "\f00c";
    font-weight: 600;
    position: absolute;
    top: 50%;
    left: -15px;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

    


/*--------------------------
          新実績
--------------------------*/
#kaso #service-achievements img {max-width: 100%; height: 330px; object-fit: cover;border: 1px solid #eee;}
#kaso .achievements-wrapper .ttl h3 {margin-bottom: 0;}
#kaso .achievements-ttl {border-bottom: 2px solid #003caf; padding-bottom: 20px; margin-bottom: 20px;}
#kaso .achievements-ttl + p {margin-bottom: 20px;}
#kaso .achievements-ttl h3 {margin-bottom: 0;}
.catch-ehime img {
    max-width: 425px !important;
    height: auto !important;
    width: 100%;
}
.catch-suita img {
    max-width: 645px !important;
    height: auto !important;
    width: 100%;
}


@media screen and (max-width:766px){
	#kaso #service-achievements img {height: auto;}
	#kaso .achievements-wrapper .ttl h3 {font-size: 5vw; line-height: 1.5;}
	#kaso .achievements-ttl {padding-bottom: 3vw; margin-bottom: 4vw;}
	#kaso .achievements-ttl h3 {font-size: 5vw;}
}



/*--------------------------
          旧実績
--------------------------*/

/*---------- achievement ----------*/
#page_achievement .achievement h3 {
	font-weight: bold;
  text-align: center;
  font-size: 34px;
}
 

#page_achievement .achievement .achievement-01 {
/*  	border-bottom: 2px solid;  */
/*
  padding: 30px;
  background: #f5f5f5;
*/
  margin-bottom: 60px;
}
#page_achievement .achievement .achievement-01 ul {
	display: flex;
	justify-content: space-between;
}
#page_achievement .achievement .achievement-01 ul li {
	flex-basis: 48%;
  background: #fff; 
    padding: 30px;
  border: 2px solid; 
}
#page_achievement .achievement .achievement-01 ul li p {
	margin-bottom: 30px;
}

#page_achievement .achievement .achievement-02 {
/*
	border: 2px solid;
  padding: 30px;
*/
  margin-bottom: 60px;
}
#page_achievement .achievement .achievement-02 table {border: 2px solid;}
#page_achievement .achievement .achievement-02 th {
	background-color: #EAEAEA;
  border-right: solid 1px #fff;
  border-top: solid 1px #fff;
  padding: 20px 10px;
  text-align: center;
	width: 25%;
}
#page_achievement .achievement .achievement-02 td {
	width: 75%;
	border-bottom: solid 1px #EAEAEA;
	border-right: solid 1px #EAEAEA;
	padding: 20px;

}
#page_achievement .achievement .achievement-02 td:first-of-type {
	border-top: solid 1px #EAEAEA;
}
#page_achievement .achievement .achievement-02 ul {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
#page_achievement .achievement .achievement-02 ul li {
	flex-basis: 48%;
/*   background: #f5f5f5;  */
    padding: 30px;
    border: 2px solid;
}
#page_achievement .achievement .achievement-02 ul li h4 {
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1.6;
}
#page_achievement .achievement .achievement-02 ul li img {
	background: #fff;
  height: 260px;
  object-fit: contain;
  margin-bottom: 30px;
}
#page_achievement .achievement .achievement-02 ul li a {
	color: #9cd5d3;
}
#page_achievement .achievement .achievement-03 {
	border: 2px solid;
  padding: 30px;
/*   margin-bottom: 60px; */
}
#page_achievement .achievement .achievement-03 .achievement-wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#page_achievement .achievement .achievement-03 .achievement-wrapper ul {
	flex-basis: 31%;
}
#page_achievement .achievement .achievement-03 .achievement-wrapper ul:first-of-type,
#page_achievement .achievement .achievement-03 .achievement-wrapper ul:last-of-type {
	display: grid;
} 
#page_achievement .achievement .achievement-03 .achievement-wrapper ul:first-of-type {
	border-right: 1px solid;
}
#page_achievement .achievement .achievement-03 .achievement-wrapper ul:last-of-type {
	border-left: 1px solid;
}
#page_achievement .achievement .achievement-03 .achievement-wrapper ul li img {
	width: 100%;
}
 

@media screen and (max-width:766px){
	#page_achievement .achievement h3 {font-size: 7vw; margin-bottom: 20px;}
/* 	#page_achievement .achievement .achievement-01 {padding: 40px 20px;} */
	#page_achievement .achievement .achievement-01 ul {flex-wrap: wrap;}
	#page_achievement .achievement .achievement-01 ul li {flex-basis: 100%; padding: 7%;}
	#page_achievement .achievement .achievement-01 ul li:first-of-type {margin-bottom: 20px;}
/* 	#page_achievement .achievement .achievement-02 {padding: 7%;} */
	#page_achievement .achievement .achievement-02 tr {display: grid; /* margin: 5% 0; */}
	#page_achievement .achievement .achievement-02 th {width: 100%;}
	#page_achievement .achievement .achievement-02 td {width: 100%; border-left: solid 1px #EAEAEA;}
	#page_achievement .achievement .achievement-02 ul {flex-wrap: wrap;}
	#page_achievement .achievement .achievement-02 ul li {flex-basis: 100%; padding: 7%;}
	#page_achievement .achievement .achievement-02 ul li:first-of-type {margin-bottom: 20px;}
	#page_achievement .achievement .achievement-02 ul li img {height: auto;}
	#page_achievement .achievement .achievement-03 {padding: 5%;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper {flex-wrap: wrap;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper ul {flex-basis: 100%;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper ul:first-of-type {border-right: none;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper ul:last-of-type {border-left: none;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper ul li img {border-top: 1px solid; padding: 5% 0;}
	#page_achievement .achievement .achievement-03 .achievement-wrapper ul:first-of-type li:first-child img {border-top: none;}
	
/*
	#page_achievement .achievement .achievement-04 ul:first-of-type {padding: 20px;}
	#page_achievement .achievement .achievement-04 ul:last-of-type {padding: 5% 0 0 0;}
	#page_achievement .achievement .achievement-04 ul:last-of-type li {flex-basis: 23%; margin: 6px 0;}
	
	#page_achievement .achievement .achievement-05 {padding: 20px;}
	#page_achievement .achievement .achievement-05 ul {padding: 0; flex-wrap: wrap; justify-content: flex-start;}
	#page_achievement .achievement .achievement-05 ul li {flex-basis: 31%;}
	#page_achievement .achievement .achievement-05 ul li:nth-child(3n+2) {margin: 0px 3%;}
	#page_achievement .achievement .achievement-05 ul li img:first-of-type {height: 120px;}
*/
}

/*---------- performance ----------*/
#page_achievement .performance .performance-wrapper  {border: 2px solid; padding: 30px; margin-bottom: 60px; text-align: center;}
#page_achievement .performance .performance-01 {margin-bottom: 40px;}
#page_achievement .performance .performance-01 ul:first-of-type {background: #f5f5f5; display: inline-block; text-align: left; padding: 30px 30px;}
#page_achievement .performance .performance-01 ul:first-of-type li {padding: 5px 0px 5px 30px; position: relative;}
#page_achievement .performance .performance-01 ul:first-of-type li:before {font-family: 'Font Awesome 5 Pro'; content: "\f058"; font-weight: 600; position: absolute; font-size: 25px; top: 50%; left: 10px; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
#page_achievement .performance .performance-01 ul:first-of-type li span {font-weight: bold; font-size: 20px; padding: 0 10px;}
#page_achievement .performance .performance-01 ul:first-of-type li img {border: 1px solid;}
#page_achievement .performance .performance-01 ul:last-of-type {display: flex; flex-wrap: wrap; justify-content: space-between; padding: 40px 0;}
#page_achievement .performance .performance-01 ul:last-of-type li {flex-basis: 11%;}
#page_achievement .performance .performance-01 ul:last-of-type li img {width: 100%; height: 100%; object-fit: cover;}
#page_achievement .performance .performance-01 p {text-align: center; font-weight: bold; font-size: 24px;}
#page_achievement .performance .performance-02 h3 {font-weight: bold; text-align: center; font-size: 34px; margin-bottom: 0;}
#page_achievement .performance .performance-02 ul {display: flex; flex-wrap: wrap; justify-content: space-between; padding: 40px 0;}
#page_achievement .performance .performance-02 ul li {flex-basis: 13%;}
#page_achievement .performance .performance-02 ul li img:first-of-type {width: 100%; height: 200px; object-fit: contain;}

@media screen and (max-width:766px){
	#page_achievement .performance .performance-wrapper {padding: 7%;}
	#page_achievement .performance .performance-01 ul:first-of-type {padding: 20px;}
	#page_achievement .performance .performance-01 ul:last-of-type {padding: 5% 0 0 0;}
	#page_achievement .performance .performance-01 ul:last-of-type li {flex-basis: 23%; margin: 6px 0;}
	
	#page_achievement .performance .performance-02 h3 {font-size: 7vw; margin: 0 0 20px 0;}
	#page_achievement .performance .performance-02 ul {padding: 0; flex-wrap: wrap; justify-content: flex-start;}
	#page_achievement .performance .performance-02 ul li {flex-basis: 31%;}
	#page_achievement .performance .performance-02 ul li:nth-child(3n+2) {margin: 0px 3%;}
	#page_achievement .performance .performance-02 ul li img:first-of-type {height: 120px;}
}

/*--------------------------
        お問い合わせ
--------------------------*/
#page_contact dl {
    display: flex;
    align-items: center;
/*     padding: 30px; */
    border-bottom: 1px solid;
    margin: 0;
    justify-content: space-between;
}
#page_contact dl:first-of-type {
	border-top: 1px solid;
}
#page_contact dt {
    font-weight: bold;
    font-size: 18px;
    width: 30%;
    display: table-cell;
    table-layout: fixed;
    vertical-align: middle;
    padding: 0;
}
#page_contact dd {
	width: 65%;
	padding: 30px 0;
	margin-left: 0;
}
#page_contact dd span {
	display: flex;
    flex-wrap: wrap;
}


@media screen and (max-width:766px){ 
	#page_contact dl {flex-wrap: wrap; padding: 30px 0;}
	#page_contact dt {flex-basis: 100%; margin-bottom: 10px;}
	#page_contact dt p {padding: 0;}
	#page_contact dd {flex-basis: 100%;padding: 0;}
	#page_contact dd span {display: block;}
	#page_contact dd p {padding: 0;}
}

/*--------------------------
  DXに関する取り組みページ
--------------------------*/
/*---------- direction ----------*/
#page_dx .direction ol {counter-reset: number; list-style-type: none!important; border-top: 3px solid; border-bottom: 3px solid; padding: 40px 40px; margin-top: 40px; margin-bottom: 0;}
#page_dx .direction ol > li {line-height: 1.5em; padding: 10px 0 10px 2em; font-size: 20px; position: relative;}
#page_dx .direction ol > li:before {position: absolute; top: 50%; left: 0; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); counter-increment: number; content: counter(number); display: inline-block; background: #333; color: #fff; width: 30px; height: 30px; border-radius: 50%; left: 0; display: flex; align-items: center; justify-content: center; font-family: 'Poppins', sans-serif; font-size: 18px;}

@media screen and (max-width:766px){ 
	#page_dx .direction ol {padding: 7% 0 7% 2%;}
	#page_dx .direction ol > li {font-size: 16px;}
	#page_dx .direction ol > li:before {font-size: 16px;}
}


/*---------- strategy ----------*/
.strategy .strategy-wrapper {display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 60px; padding-bottom: 100px;}
.strategy .strategy-wrapper > div {position: relative;}
.strategy .strategy-wrapper > div:not(:last-of-type){background: #f5f5f5; }
.strategy .strategy-wrapper > div:not(:last-of-type):after {font-family: 'Font Awesome 5 Pro'; content: "\f30b"; font-weight: 600; position: absolute; font-size: 50px; top: 55%; right: -70px; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 5;}
    
.strategy .strategy-wrapper h3 {font-size: 20px; font-weight: bold; text-align: center; background: #fff; margin-bottom: 0; padding: 20px 0px;}

.strategy .strategy-wrapper > div:first-of-type {flex-basis: 20%;}
.strategy .strategy-wrapper > div:first-of-type ul {padding: 30px 0;}
.strategy .strategy-wrapper > div:first-of-type ul li {text-align: center; padding: 30px;}
.strategy .strategy-wrapper > div:first-of-type p {text-align: center;}
.strategy .strategy-wrapper > div:first-of-type i {font-size: 50px; text-align: center; margin-bottom: 20px;}

.strategy .strategy-wrapper > div:nth-of-type(2) {flex-basis: 45%;}
.strategy .strategy-wrapper > div:nth-of-type(2) div {padding: 30px;}
.strategy .strategy-wrapper > div:nth-of-type(2) h4 {font-weight: bold; text-align: center; margin-bottom: 20px;}
.strategy .strategy-wrapper > div:nth-of-type(2) h5 {background: #333; color: #fff; padding: 5px; text-align: center; font-size: 18px; margin-bottom: 20px;}
.strategy .strategy-wrapper > div:nth-of-type(2) h5 span {color: #9cd5d3;}
.strategy .strategy-wrapper > div:nth-of-type(2) ul {display: flex; flex-wrap: wrap; justify-content: space-between;}
.strategy .strategy-wrapper > div:nth-of-type(2) ul:first-of-type {margin-bottom: 20px;}
.strategy .strategy-wrapper > div:nth-of-type(2) ul li {flex-basis: 31%; text-align: center;}
.strategy .strategy-wrapper > div:nth-of-type(2) p {text-align: center;}
.strategy .strategy-wrapper > div:nth-of-type(2) i {font-size: 40px; margin-bottom: 10px;}

.strategy .strategy-wrapper > div:last-of-type {flex-basis: 25%;}
.strategy .strategy-wrapper > div:last-of-type div {margin-top: 60px;}
.strategy .strategy-wrapper > div:last-of-type h4 {font-weight: bold; text-align: center; margin-bottom: 20px;}
.strategy .strategy-wrapper > div:last-of-type ul {display: flex; justify-content: space-between;}
.strategy .strategy-wrapper > div:last-of-type ul li {border: 1px solid; padding: 10px 10px; flex-basis: 31%; text-align: center;}
.strategy .strategy-wrapper > div:last-of-type i {font-size: 30px; text-align: center; margin: 20px auto; display: block;}
.strategy .strategy-wrapper > div:last-of-type p {background: #9cd5d3; color: #fff; font-size: 20px; text-align: center; padding: 10px 10px;}
    
.strategy-box {/* padding: 80px 0; */ border-top: 3px solid;}    
.strategy .strategy-box h3 {font-weight: bold; text-align: center; font-size: 34px;}

.strategy .strategy-01 {padding: 80px 0;}
.strategy .strategy-01 ul {margin-top: 40px;}
.strategy .strategy-01 ul li:nth-of-type(even) {display: flex;}
.strategy .strategy-01 ul li:nth-of-type(even) > div {flex-basis: 50%; display: flex; align-items: center;}
.strategy .strategy-01 ul li:nth-of-type(even) > div p {text-align: center;}
.strategy .strategy-01 ul li:nth-of-type(even) > div:first-of-type {border-right: 3px solid; display: flex; justify-content: end; align-items: center; position: relative; padding-right: 20%;}
.strategy .strategy-01 ul li:nth-of-type(even) > div:last-of-type {display: flex; justify-content: flex-start; align-items: center; position: relative; padding-left: 20%;}
.strategy .strategy-01 ul li h4 {background: #333; color:  #fff; text-align: center; padding: 10px;}
.strategy .strategy-01 ul li:nth-of-type(odd) > div {border: 1px solid; padding: 20px;}
.strategy .strategy-01 ul li:nth-of-type(odd) > div p {text-align: center; font-size: 20px; font-weight: bold;}
.strategy .strategy-01 ul li i {font-size: 50px; padding: 10px 20px;}

.strategy .strategy-02 {padding: 80px 0;}
.strategy .strategy-02-wrapper {display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 40px;}
.strategy .strategy-02-wrapper > div {flex-basis: 48%; border: 1px solid;}
.strategy .strategy-02-wrapper h4 {background: #333; color: #fff; padding: 15px 5px 15px 20px; text-align: center; position: relative; font-weight: bold; }
.strategy .strategy-02-wrapper h4 span {font-size: 16px; padding-left: 10px; font-weight: normal;}
.strategy .strategy-02-wrapper h4:before {color: #333;font-weight: 600; position: absolute; top: 50%; left: 30px; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 5; background: #fff; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Poppins', sans-serif;}
.strategy .strategy-02-wrapper div:first-of-type h4:before {content: "1";}
.strategy .strategy-02-wrapper div:last-of-type h4:before {content: "2";}

.strategy .strategy-02-wrapper .txt {padding: 30px;}
.strategy .strategy-02-wrapper .txt ul {padding: 20px 0;}
.strategy .strategy-02-wrapper .txt ul li {padding: 5px 20px 5px 30px; position: relative;}
.strategy .strategy-02-wrapper .txt ul li:before {font-family: 'Font Awesome 5 Pro'; content: "\f058"; font-weight: 600; position: absolute; font-size: 25px; top: 50%; left: 10px; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

.strategy .strategy-03 {padding: 80px 0 0 0;}
.strategy .strategy-03 p:not(:last-of-type){margin-bottom: 20px;}

@media screen and (max-width:766px){ 
	.strategy .strategy-wrapper {padding-bottom: 60px;}
	
	.strategy .strategy-wrapper > div:first-of-type {flex-basis: 100%;}
	.strategy .strategy-wrapper > div:first-of-type ul {display: flex; justify-content: space-between; padding: 10% 5%;}
	.strategy .strategy-wrapper > div:first-of-type ul li {flex-basis: 48%; padding: 0;}
	
	.strategy .strategy-wrapper > div:nth-of-type(2) {flex-basis: 100%;}
	.strategy .strategy-wrapper > div:nth-of-type(2) div {padding: 7%;}
	
	.strategy .strategy-wrapper > div:last-of-type {flex-basis: 100%;}
	.strategy .strategy-wrapper > div:not(:last-of-type) {margin-bottom: 7%;}
	.strategy .strategy-wrapper > div:not(:last-of-type):after {content :"\f309"; top: 100%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); right: auto;}
  .strategy .strategy-wrapper > div:last-of-type div {margin-top: 0;}
  
  .strategy .strategy-01 {padding: 60px 0;}
  .strategy .strategy-01 ul li:nth-of-type(even) > div:first-of-type {padding-right: 0;}
  .strategy .strategy-01 ul li:nth-of-type(even) > div:last-of-type {padding-left: 0;}
  .strategy .strategy-01 ul li:nth-of-type(odd) > div {padding: 5%;}
  .strategy .strategy-01 ul li:nth-of-type(odd) > div p {font-size: 5vw;}
  .strategy .strategy-01 ul li i {font-size: 40px; padding: 10px 10px;}
  
  .strategy .strategy-02 {padding: 60px 0;}
  .strategy .strategy-02-wrapper > div {flex-basis: 100%;}
  .strategy .strategy-02-wrapper > div:first-of-type {margin-bottom: 7%;}
  .strategy .strategy-02-wrapper h4 {padding: 15px 5px 15px 15px;}
  .strategy .strategy-02-wrapper h4:before {width: 30px; height: 30px; left: 25px;}
  .strategy .strategy-02-wrapper h4 span {display: block;}
  
  .strategy .strategy-02-wrapper .txt {padding: 7%;}
  .strategy .strategy-02-wrapper .txt ul li {font-size: 4.5vw; padding: 5px 0px 5px 7vw;}
  .strategy .strategy-02-wrapper .txt ul li:before {font-size: 5vw;}
  
  .strategy .strategy-03 {padding: 60px 0 0 0;}
  .strategy .strategy-box h3 {font-size: 7vw;}
}

/*---------- message ----------*/
#page_dx .message .inner {padding-top: 0 ;} 
#page_dx .message ul {display: flex; justify-content: space-between; border: 4px solid; padding: 50px;}
#page_dx .message ul li:first-of-type {flex-basis: 65%;}
#page_dx .message ul li:first-of-type p {margin-bottom: 20px;}
#page_dx .message ul li:first-of-type p:last-of-type {text-align: right; margin: 0px 0 0 0; font-weight: bold;}
#page_dx .message ul li:last-of-type {flex-basis: 30%;}
#page_dx .message ul li:last-of-type img {width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width:766px){ 
	#page_dx .message ul {flex-wrap: wrap; padding: 40px;}
	#page_dx .message ul li:first-of-type {flex-basis: 100%; margin-bottom: 30px;}
	#page_dx .message ul li:last-of-type {flex-basis: 100%;}
}




/*--------------------------
  情報セキュリティ基本方針
--------------------------*/
/*---------- security ----------*/
#page_security .security ol {counter-reset: number; padding: 0; margin-top: 40px;}
#page_security .security ol > li {padding: 30px 0; border-bottom: 1px solid;}
#page_security .security ol > li:first-of-type {border-top: 1px solid;}
#page_security .security ol > li h2 {position: relative;
    padding-left: 45px;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;}
#page_security .security ol > li h2:before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    color: white;
    font-family: 'Poppins', sans-serif;
    font-weight: bold;
    font-size: 22px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    text-align: center;
    background: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}
#page_security .security ul {padding: 25px 0 25px 30px;}
#page_security .security ul > li {padding: 5px 0px 5px 25px;position: relative; color: #4c4c4c; line-height: 1.7;}
#page_security .security ul > li:before {
    font-family: 'Font Awesome 5 Pro';
    content: "\f111";
    font-weight: 600;
    position: absolute;
    font-size: 15px;
    top: 18px;
    left: 10px;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
#page_security .security p.name {text-align: right;}

@media screen and (max-width:766px){ 
	#page_security .security ol > li h2 {font-size: 20px !important;}
	#page_security .security ol > li h2:before {font-size: 16px;}
	#page_security .security ul {padding: 25px 0 25px 10px;}
	#page_security .security ul > li {font-size: 14px; padding: 5px 0px 5px 22px;}
	#page_security .security ul > li:before {font-size: 12px;}
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 問い合わせフォーム
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
dl.form dl,dt,dd {margin:0; padding:0; }
dl.form{ width:100%; }
dl.form dt,dd { padding:20px 0; }
dl.form dt { clear:left; float:left; width:27%; font-size:14px; border-top:1px solid #ccc; }
dl.form dd { margin-left:27%; border-top:1px solid #ccc; }

@media screen and (max-width:768px){
	dl.form dt,dd { padding:0; }
	dl.form dt { clear:both; float:none; width:100%; border-top:1px solid #ccc; padding:20px 0 10px 0; }
	dl.form dd { margin-left:0%; border-top:none; padding-bottom:20px; }
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
label {

    width: 100%;
    display: block;
    padding: 10px 0;
}
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
/*
div.wpcf7 p { margin: 30px auto;
    display: flex;
    justify-content: center;}
*/
input[type="text"],  
input[type="email"],
input[type="tel"]{width: 100%;
    padding: 25px;
    background: #f5f5f5;
    border: none;}
.wpcf7 textarea , 
.wpcf7 select { width:100%; border:none;  padding:14px; font-size:16px; border-radius:2px;background: #f5f5f5; }
div.wpcf7 textarea { height:200px; }
div.wpcf7 select { height:60px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }

@media screen and (max-width:768px){
	div.wpcf7 { width:100%; }
	div.wpcf7 p { padding:20px 0 0 0; }
}

/* ------------------------------エラー個所をわかりやすく表示------------------------------　*/
.wpcf7 .wpcf7-not-valid { background:#ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip { font-size:80%; }
.wpcf7 .wpcf7-response-output {margin:10px 0 0; padding:8px 35px 8px 14px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }
.hissu{ background:#cd4a38; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:12px; }
.nini{ background:#777777; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:12px; }

/* ------------------------------送信ボタン------------------------------　*/
input[type="submit"] { -webkit-appearance:none; margin:0 auto; background:none; }
input.wpcf7-submit { display:block; font-size:16px; width:40%; height:80px; margin:0 auto; border:2px solid #333!important; color:#202937; transition:.3s ease;}
input.wpcf7-submit:hover { border:2px solid #333!important; background:#333; color:#fff;  }

@media screen and (max-width:766px){ 
	input.wpcf7-submit {width: 100%;}
}

/* ------------------------------チェックボックスのデザイン------------------------------　*/
/* input[type="checkbox"] { display:none; } */
input[type="radio"] { display:none; }
span.wpcf7-list-item {
    display: block;
    /* margin: 0 0 0 1em; */
/*     background: #000; */
    padding: 5px 0;
}
.wpcf7-list-item-label {position: relative;padding: 0 20px 0 60px; top: 0px;display: block;}
.wpcf7-list-item-label:hover:after { border-color:#000; }
.wpcf7-list-item-label:after,  
.wpcf7-list-item-label:before{position:absolute; content:""; display:block; top:50%; }
.wpcf7-list-item-label:after { left:0px; margin-top:-20px; width:36px; height:36px; border: 2px solid #f5f5f5; border-radius: 3px; background: #f5f5f5; }
.wpcf7-list-item-label:before { left:18px; margin-top:-7px; width:5px; height:9px; border-right:3px solid #000; border-bottom:3px solid #000; transform:rotate(45deg); opacity:0; z-index: 10;}





/*
span.wpcf7-form-control-wrap.permission { position:relative; padding:0 0 0 56px; top:0px; }
span.wpcf7-form-control-wrap.permission:hover:after { border-color:#00b498; }
span.wpcf7-form-control-wrap.permission:after,  
span.wpcf7-form-control-wrap.permission:before{position:absolute; content:""; display:block; top:50%; }
span.wpcf7-form-control-wrap.permission:after { left:0px; margin-top:-20px; width:36px; height:36px; border: 2px solid #f5f5f5; border-radius: 3px; background: #f5f5f5; }
span.wpcf7-form-control-wrap.permission:before { left:18px; margin-top:-7px; width:5px; height:9px; border-right:3px solid #00b498; border-bottom:3px solid #00b498; transform:rotate(45deg); opacity:0; z-index: 10;}
*/


input[type="checkbox"]:checked + .wpcf7-list-item-label:before {opacity:1; }
input[type="radio"]:checked + .wpcf7-list-item-label::before {opacity:1; } 

@media screen and (max-width:768px){
	.wpcf7-list-item  { padding:15px 0; } /* チェックボックス下に14pxのスペース */
}

/*
.wpcf7 input[type="submit"] {
    cursor: pointer;
    width: 100%;
    display: block;
    max-width: 300px;
    text-align: center;
    margin: 50px auto 0;
    border: 3px solid #333;
    padding: 20px;
    font-weight: bold;
    letter-spacing: 5px;
    transition: all 0.5s;
    background: #333;
    color: #fff;
}
.wpcf7 input[type="submit"]:hover {
	background: #fff;
	color: #333;
	border: 3px solid #333;
}
*/




