/*
Theme Name:jlma
Template: base
Author: solid+
Version:1.21.2
*/

/* ------------------------------------
// CSS追記分
------------------------------------ */
/* 共通設定 */
img {-webkit-backface-visibility: hidden;image-rendering: -webkit-optimize-contrast;}
.under10{margin-bottom:10px;}
.under20{margin-bottom:20px;}
.top10{margin-top:10px;}
.top20{margin-top:20px;}
.top0{padding-top:0!important;margin-top:0!important;}
.under0{padding-bottom:0!important;margin-bottom:0!important;}
.bold{font-weight:bold!important;}
.red,.asterisk{color:#cc0000;}
.right{text-align: right!important;}
.center{text-align: center!important;}
input{font-size:16px;}

/* dotUL */
ul.dotUL {
  padding: 0.5em 0 0 1.75em;
  margin: 0;
  position: relative;
  font-weight: normal;
  text-align: left;
}
ul.dotUL li {
  line-height: 1.5;
  padding: 0 0 1em 0;
  list-style-type: none !important;
  position: relative;
}
@media screen and (max-width: 767px) {
  ul.dotUL li {
    left: 0;
    padding: 0 0 1em 0;
    font-size:15px!important;
  }
}
ul.dotUL li:before {
  content: "●";
  position: absolute;
  left: -1.5em;
  color: #144097;
  top: 0;
}


/* noneUL */
ul.noneUL {
  padding: 0 0 2em 1.75em;
  margin: 0;
  position: relative;
  font-weight: normal;
  text-align: left;
}
ul.noneUL li {
  line-height: 1.5;
  padding: 0 0 1em 0;
  list-style-type: none !important;
  position: relative;
}
@media screen and (max-width: 767px) {
  ul.noneUL li {
    left: 0;
    padding: 0 0 0.5em 0;
    font-size:15px!important;
  }
}
ul.noneUL li:before {
  content: "・";
  position: absolute;
  left: -1.5em;
  color: #000;
  top: 0;
}

/* note1 */
p.note1{
  text-indent: -3em;
  padding-left: 3em;
  margin-bottom:1em;
}

p.note{
  text-indent: -1em;
  padding-left: 1em;
}


/* anchorlink */
a.anchorlink{
    display: block;
    padding-top: 150px;
    margin-top: -150px;
}
@media screen and (max-width: 767px) {
  a.anchorlink{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
}

/* video */
.video {
  position: relative;
  width:100%; 
  height:0; 
  padding-top: 56.25%;
}

.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



.taC{text-align: center!important;}

/* PC  */
@media screen and (min-width: 1025px) {
    .pcunder50{margin-bottom:50px;}
    .pctop40{padding-top:40px;}
    .pctop50{padding-top:50px;}
    .pctop60{padding-top:60px;}
}

/* PC　タブレット < */
@media only screen and (min-width:768px) {
    .taCpc{text-align: center!important;}
    .sponly{display: none!important;}
	
/* flexclm */
.flexclm {
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
	align-items:center;
}
.flexclm div {
  -moz-flex: 1;
  flex: 1;
  margin-top: 2em;
}	
    
.p-footer-widget { padding: 50px 1.5% 42px!important; }    
	
}

/* タブレット < */
@media screen and (max-width: 991px) {
}


/*　モバイル */
@media only screen and (max-width: 767px) {
    .sptop30{padding-top:30px!important;}
    .sptop20{padding-top:20px;}
    .spunder30{padding-bottom:30px!important;}
    .spcenter{text-align: center!important;}
    .pc{display: none !important;}
    .sponly{display: block!important;}
    
}



/* ----------------------------------------------------------------------
 トップページKV動画
---------------------------------------------------------------------- */
/*動画用*/
  .p-header-video{
    width: 100%;
    height: auto;
    aspect-ratio: 640/360;
  }

/* ----------------------------------------------------------------------
 common
---------------------------------------------------------------------- */
.c_narrow{max-width: 900px;margin:0 auto;}

@media only screen and (min-width: 768px) {
.p-cover {  height: 380px; }
.p-cover__title { margin-bottom: 0; }	
}

@media only screen and (min-width: 992px) {
.p-page-header { padding: 0 30px; height: 100px; padding-top:10px;}
.p-archive-header { box-shadow: 0 -8px 10px rgba(0, 0, 0, 0); margin-top: 100px; }	
.p-archive-header::before, .p-archive-header::after { background: none; top: 0!important;  }	
}


@media screen and (max-width: 767px) { 
	.p-cover { height: 150px; margin-top: 50px; }
	header.l-header{border-bottom:1px solid #e8e8e8!important;}
	header.p-works-entry__header{padding-top:30px;}
}
	


/* ----------------------------------------------------------------------
 table
---------------------------------------------------------------------- */
table {
	width: 100%;
}

table th,
table td{
	font-size: 1em!important;
	line-height: 1.7!important;
}
@media (max-width: 767px) {
	
.s_table{overflow: unset!important;white-space: normal!important;}
}

/* ----------------------------------------------------------------------
見出し
---------------------------------------------------------------------- */
h2.baseH2{
    font-size:30px!important;
	text-align: center;
	padding-top:3rem;
	margin-bottom: 2.5rem;
	line-height: 1.5;
}

h2.baseH2 .smlr{
    font-size:18px;
	display: block;
	margin-top:5px;
	font-weight: 500;
}

h3.baseH3{
    font-size:1.5rem!important;
}

h4.baseH4 {
    font-size:1.25rem!important;
}

p.lead{
	font-size: 17px;
	margin-bottom:3rem;
}

.p-service-entry__title { margin-bottom: 54px; }

@media screen and (max-width: 767px) {
    h2.baseH2{
		font-size:18px!important;
		padding-top:0;
		margin-bottom: 1.5rem;
    }
	
	h2.baseH2 .smlr{
		font-size:14px;
	}

    h3.baseH3{
    font-size:1.05rem!important;
    }
    h4.baseH4 {
    font-size:1rem!important;
    }
	
	p.lead{
		font-size: 14px;
		margin-bottom:2rem;
	}
	
    .p-service-entry__title { margin-bottom: 26px;  }
}



/* ----------------------------------------------------------------------
 flexpic
---------------------------------------------------------------------- */
.flexpic {
  display: flex;
  flex-wrap: wrap;
  margin: 0;}
.flexpic div {
  margin: 0 auto 2rem;
  width:48%;}
.flexpic div:nth-child(odd) {
   margin-left:0;}
.flexpic div img {
    width:100%;}
@media screen and (max-width: 767px) {
     .flexpic {
         display: block;}
     .flexpic div {
         width:100%;
         margin-bottom:2rem;}
}

/* ----------------------------------------------------------------------
 common
---------------------------------------------------------------------- */
.p-banner__content { font-size: 16px; }
.p-banner__title { font-size: 1.75rem }

@media screen and (min-width: 768px) { 
  .p-page-header__title{ line-height: 1.4;}
  .p-article09__link { font-size: 16px; }
}

@media screen and (max-width: 767px) { 
  .p-article11__title { font-size: 20px; }
  .p-entry__body h2 { font-size: 130%; }
}

@media screen and (max-width: 991px) {
  .p-cat-list__title {font-size: 20px;} 
  .p-headline--lg { font-size: 18px; } 
}

.p-btn2 { text-align: center; }
.p-btn2 a { 
    background-color: #144097;color: #fff!important; display: inline-block; font-size: 16px; font-weight: 700; line-height: 60px; min-width: 240px; height: 60px; padding: 0 30px;text-align: center; 
}
.p-btn2 a:hover { text-decoration: none;background-color: #002667;}


@media screen and (max-width: 767px) {
	.p-btn2 { text-align: center; }
    .p-btn2 a { font-size: 14px; line-height: 50px; min-width: 220px; height: 50px;padding: 0 15px; }
}

/* ----------------------------------------------------------------------
 common_header
---------------------------------------------------------------------- */
.l-header__desc{font-weight: 600;}
@media only screen and (max-width: 1199px) {	
  .l-header__desc { display: block;font-size: 14px!important;margin-left:5px; }
}

#header_lang a span.name{font-size:15px;display: block;position: relative;background-color: #144097;line-height: 60px;color:#fff;padding:0 30px;border-radius: 6px;margin-top:10px;}
#header_lang a:hover span.name{background-color: #002667;}
#header_lang_button:before { display: none;}

.p-global-nav .sub-menu a { width: 280px;  }
.p-global-nav > li > a { padding: 0 5px; }
@media screen and (min-width: 992px) {.menu-item-129{letter-spacing: -0.04em;} }
/* ----------------------------------------------------------------------
 common_footer
---------------------------------------------------------------------- */
.p-info__desc{font-weight: 600;}
@media only screen and (max-width: 1199px) {	
  .p-info__desc {font-size: 14px!important;}
}

@media screen and (min-width: 768px) { 
    .p-footer-widget { padding: 50px 1.9661% 42px; }
}

.p-footer-widgets__item { width: 19%; }
.p-footer-widgets__item:last-child { width: 24%; }

.p-footer-nav { font-size: 14px; }

@media screen and (max-width: 767px) {
  .p-footer-widgets__item.widget_nav_menu#nav_menu-6 { width: 100%; } 
}


/* ----------------------------------------------------------------------
 common_pagetitle
---------------------------------------------------------------------- */

@media screen and (min-width: 768px) { 
    h1.p-cover__title{padding-bottom:0;line-height: 1.7;}}
    h2.p-archive-header__title{margin-bottom:1em;line-height: 1.7;}

/* ----------------------------------------------------------------------
 common_l-secondary
---------------------------------------------------------------------- */
.p-tab-list__panel-item.p-article02{padding:20px 0;}
.p-article02__img{display: none;}


/* ----------------------------------------------------------------------
 toppage
---------------------------------------------------------------------- */
.p-news-tab-list__tabs-item {
    width: 33.33333%;
}

.p-index-content04 .p-btn a {
    display: none;
}

.p-header-content__title{line-height: 1.7;padding-bottom: 30px;font-weight: 600;}

.p-article11__title{font-size: 24px;font-weight: 600;}

@media screen and (max-width: 767px) { 
	.p-article11__title{font-size: 17px;}
	.p-index-content03{padding-top:50px;}
}

/* ----------------------------------------------------------------------
 toppage　フリースペース01
---------------------------------------------------------------------- */
.c-download__col {
	margin-bottom: 60px
}
.c-download__col:last-child {
	margin-bottom: 0
}
.c-download__article {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0 50px;
	margin-top: 40px;
	padding:50px;
	background-color: #f3f6fb;
	flex-direction:row-reverse;
}
.c-download__article__txt {
	width: 60%;
	text-align: center;
}
.c-download__article__pic {
	width: 40%;
	text-align: center;
}
.c-download__article__pic img {
	width: 100%;
	max-width: 298px!important;
	margin: 0 auto;
	 filter: drop-shadow(0 0 3px #ddd);
}
@media (max-width:767px) {
	.c-download__col {
		margin-bottom: 50px
	}
	.c-download__article {
		display: block;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: 0 50px;
		margin-top: 20px;
		padding:30px 10px 10px 10px;
	}
	.c-download__article__txt {
		width: 100%;
		position: relative;
		margin-bottom: 20px;
	}
	.c-download__article__txt p{
		font-size:15px;
	}
	.c-download__article__pic {
		width: 80%;
		margin: 0 auto 20px
	}
}


/* ----------------------------------------------------------------------
 about共通
---------------------------------------------------------------------- */
.about_col{margin-top: 6rem;}

h2.aboutH2{
    font-size:28px;
    text-align: center;
	margin-bottom:2rem;
}

h3.aboutH3 {
	display:block;
	color:#fff;
	font-size: 19px;
	padding:7px 15px;
	margin:0 0 30px;
}

h3.aboutH3.color1 {
	background-color:#674d9c; 
}
h3.aboutH3.color2 {
	background-color:#1d58a6; 
}
h3.aboutH3.color3 {
	background-color:#e75297; 
}
h3.aboutH3.color4 {
	background-color:#1d8e58; 
}
h3.aboutH3.color5 {
	background-color:#144097; 
}
h3.aboutH3.color6 {
	background-color:#45afcc; 
}
h3.aboutH3.black {
	background-color:#333; 
}

h4.aboutH4 {
	display:block;
	font-size:18px;
	padding-bottom:10px;
	margin:0 0 20px;
}
h4.aboutH4.color5 {
	border-bottom:3px solid #144097;
}
h4.aboutH4.color6 {
	border-bottom:3px solid #45afcc;
}

@media screen and (max-width: 736px) {
	.about_col{margin-top:3rem;}
	
	h2.aboutH2{
		font-size:18px;
		margin-bottom:2rem;
	}

	h3.aboutH3 {
		font-size: 16px;
		padding:5px 10px;
		margin:0 0 20px;
		text-align: center;
		letter-spacing: 0.01em;
	}

	h4.aboutH4 {
		font-size:16px;
		padding-bottom:10px;
		margin:0 0 20px;
		border-bottom:3px solid #144097;
	}
}



/* ----------------------------------------------------------------------
 message
---------------------------------------------------------------------- */
.message_contents .messageimg{width:200px;float:right;margin:0 0 1em 3em;text-align: center;}
.message_contents .messageimg span{line-height: 1.5;display: block;margin-top:1rem;}
.message_contents .messageimg img{width:200px;}

@media screen and (max-width: 767px){
    .message_contents .messageimg{float:none;margin:0 auto 2em auto}
}


/* ----------------------------------------------------------------------
 organization
---------------------------------------------------------------------- */

.figScroll {
	text-align: center;
}
.chart {
	width: 100%;
    margin:0 auto;
}

table.organizationTbl01 th{width: 25%;}
table.organizationTbl02 td{width:50%;}
td.center{text-align: center;}

@media screen and (max-width: 736px) {
    .figScroll {
	overflow-x: auto; 
    -webkit-overflow-scrolling: touch;
    }
    
    .figScroll::-webkit-scrollbar {
        height: 5px;
    }
    
    .figScroll::-webkit-scrollbar-track {
        margin: 0 2px;
        background: #eee;
        border-radius: 5px;
    }
    
    .figScroll::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #144097;
    }

    .chart {
        width:600px;
        padding:0 0 20px 0;
    }
	table.organizationTbl01 th{width: 35%;}
}



/* ----------------------------------------------------------------------
 memberlist
---------------------------------------------------------------------- */
table.memberlistTbl01 td{width:50%;}
table.memberlistTbl01 td a{color:#000;}
table.memberlistTbl02{margin-bottom:50px!important;}
table.memberlistTbl02 th{width: 25%;}
table.memberlistTbl02 td{word-break: break-all;}


.p-company-list__item.p-article05{margin-bottom:40px!important; }


@media screen and (max-width: 736px) {
	table.memberlistTbl01{border-bottom:1px solid #ddd;}
	table.memberlistTbl01 td{display: block; width:100%;border-bottom:0;}
	table.memberlistTbl02{margin-bottom:40px!important;}
	table.memberlistTbl02 th{width: 31%;}
}

/* ----------------------------------------------------------------------
 access
---------------------------------------------------------------------- */
.access_contents .access_col{display: flex;justify-content:space-between;padding-top:10px;}
table.accessTbl{width: auto;}
.access_contents .accessimg{width:300px;margin:0 0 1em 1rem;}
.access_contents .accessimg span{line-height: 1.5;display: block;margin-top:1rem;text-align: center;}
.access_contents .accessimg img{width:300px;}

@media screen and (max-width: 767px){
	.access_contents .access_col{display: block;padding-top:0;}
    .access_contents .accessimg{float:none;margin:0 auto 2em auto}
	table.accessTbl{width: 100%;}
}



/* ----------------------------------------------------------------------
 business
---------------------------------------------------------------------- */
.purpose p{margin-bottom:4rem;}
h3.businessH3 {
	position: relative;
	font-size: 20px;
}

h3.businessH3::before {
	content: attr(data-number);
	display: block;
	color: #144097;
	font-size: 40px;
}

h3.businessH3::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #144097;
}


@media screen and (max-width: 767px) {
	.purpose p{margin-bottom:2.5rem;}
	
	h3.businessH3 {
		font-size: 16px;
	}
	h3.businessH3::before {
		font-size: 32px;
	}
}



/* ----------------------------------------------------------------------
 plan
---------------------------------------------------------------------- */
.plan_col{margin-top: 4rem;}

h2.planH2{
    font-size:34px;
    text-align: center;
	margin:5rem auto 2rem;
}

h3.planH3 {
	display:block;
	color:#fff;
	font-size: 20px;
	padding:7px 15px;
	margin:0 0 30px;
}

.plan_col ol h4{
  margin:0 0 5px 0;
	font-size: 17px;
	line-height: 1.7;
}

h3.planH3.color1 {
	background-color:#cc0000; 
}
h3.planH3.color2 {
	background-color:#674d9c; 
}
h3.planH3.color3 {
	background-color:#1d58a6; 
}
h3.planH3.color4 {
	background-color:#e75297; 
}
h3.planH3.color5 {
	background-color:#1d8e58; 
}
h3.planH3.color6 {
	background-color:#7d4800; 
}

.plan_col ol {
  counter-reset:number; 
  list-style-type: none!important;
	margin:0;
}

.plan_col ol li {
  position: relative;
  padding: 10px 0 20px 40px;
}

.plan_col ol li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  color: #fff;
  font-weight:600;
  font-size: 16px;
  left: 0;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  top: 10px;
}

.plan_col ol.color1 li:before{
  background: #cc0000;
}
.plan_col ol.color2 li:before{
  background: #674d9c;
}
.plan_col ol.color3 li:before{
  background: #1d58a6;
}
.plan_col ol.color4 li:before{
  background: #e75297;
}
.plan_col ol.color5 li:before{
  background: #1d8e58;
}
.plan_col ol.color6 li:before{
  background: #7d4800;
}

@media screen and (max-width: 736px) {
	.plan_col{margin-top:2rem;}
	
	h2.planH2{
		font-size:18px;
		margin:0 auto 2rem;
	}

	h3.planH3 {
		font-size: 16px;
		padding:5px 10px;
		margin:0 0 20px;
		text-align: center;
	}
	
	.plan_col ol h4{
		margin:0 0 5px 0;
		font-size: 14px;
	}
	
	.plan_col ol li {
		position: relative;
		padding: 0 0 30px 35px;
	}

.plan_col ol li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  color: #fff;
  font-weight:600;
  font-size: 15px;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 0;
}
}

/* ----------------------------------------------------------------------
 system
---------------------------------------------------------------------- */
.system_contents .img{
	width: 100%;
	max-width: 900px;
	margin:0 auto;
}

.system_contents .mokuroku{
	padding-top:80px;
	max-width: 901px;
	margin:0 auto;
}

.system_contents .mokuroku ul{
	margin:0;
	padding:0;
	list-style-type: none;
}

.system_contents .mokuroku li{
	margin:0 0 30px 0;
	padding:0;
	list-style-type: none;
}

.system_contents .mokuroku li:last-child{
	margin:0;
}

@media screen and (max-width: 736px) {
	.system_contents .mokuroku{
		padding-top:40px;
	}
	.system_contents .mokuroku li{
		margin:0 0 10px 0;}
	
}


/* ----------------------------------------------------------------------
 publication_contents
---------------------------------------------------------------------- */
.publication_contents table{
	margin-top:5rem;
	font-size:14px;
}
.publication_contents td{
	min-width: 9em;
}

.publication_contents td.td01{
	width: 11em;
}

.publication_contents td.td02{
	width: 23em;
}

@media screen and (max-width: 736px) {
	.publication_contents table{
		margin-top:2.5rem;
		font-size:12px;
		margin-bottom: 1rem;
	}
	
	.publication_contents td{
		white-space: nowrap;
	}
	
}




/* ----------------------------------------------------------------------
 flyer
---------------------------------------------------------------------- */
h3.flyerH3 {
	display:block;
	color:#fff;
	font-size: 19px!important;
	padding:7px 15px;
	margin:0 0 30px;
	background-color: #144097;
}

.flyer_article{
	margin:40px auto 0 auto;
}

.flyer_article a{
	display: flex;
	justify-content:space-between;
	align-items:center;
	gap:0 50px;
	padding-bottom:40px;
	border-bottom:1px solid #ddd;
}

.flyer_article_pic{
	width:37%;
}
.flyer_article_pic img{
	width: 100%;
	max-width: 300px!important;
	margin:0 auto;
}
.flyer_article a:hover img{
	 opacity: 0.9;
}

.flyer_article_txt{
	width:59%;
}

.flyer_article a{
	color:#000!important;
}

.flyer_article a:hover{
	color: #144097!important;
	text-decoration: none;
}

@media screen and (max-width: 736px) {
	h3.flyerH3 {
		font-size: 16px!important;
		padding:5px 10px;
		margin:0 0 20px;
		text-align: center;
	}
	
	.flyer_article a{
		display: block;
		margin-top:20px;
		padding-bottom:20px;
	}
	
	.flyer_article_pic{
		width:70%;
		margin:0 auto 20px;
	}

	.flyer_article_txt{
		width:100%;
		text-align: center;
		padding-top:20px;
	}
}




/* ----------------------------------------------------------------------
 newsletter
---------------------------------------------------------------------- */
ul.newsletterList{
	margin:0;
	padding:0 0 0 0;
}

.newsletterList li{
	border-bottom:1px solid #ddd;
	padding:10px;
	list-style-type: none;
}

.newsletterList li a{
	display: flex;
	align-items:center;
	gap:0 50px;
}

.newsletterList_pic{
	border:1px solid #eee;
	
}
.newsletterList_pic img{
	width: 143px;
	margin:0 auto;
}
.newsletterList a:hover img{
	 opacity: 0.9;
}

.newsletterList a{
	color:#000!important;
}

.newsletterList a:hover{
	color: #144097!important;
	text-decoration: none;
}

.newsletterList_txt h3.newsletterH3{
	font-size:20px!important;
	margin:0 0 20px 0;
}

.newsletterList_txt p{
	margin:0;
	padding:0;
}


@media screen and (max-width: 736px) {
	.newsletterList li{
	padding:20px 0 ;
}
	
	.newsletterList li a{
		gap:0 15px;
}
.newsletterList_txt h3.newsletterH3{
	font-size:16px!important;
	margin:0 0 20px 0;
}
}

/* ----------------------------------------------------------------------
 knowledge
---------------------------------------------------------------------- */
header.p-works-entry__header .p-works-entry__img{display: none!important;}

/* ----------------------------------------------------------------------
 CP
---------------------------------------------------------------------- */
.cp_contents .cpimg{width:320px;margin:0 auto 2em auto}
.cp_contents .cpimg span{display: block;margin-top:15px; text-align: center;font-weight: 600;font-size:18px;}
@media screen and (max-width: 736px) {
	.cp_contents .cpimg span{font-size:16px!important;}
}


/* ----------------------------------------------------------------------
performance_contents
---------------------------------------------------------------------- */
@media screen and (min-width: 768px) { 
    .p-latest-works__list-item { margin: 0 8px 41px; width: calc((100% - 48px) / 2); }
    }

.performance_contents article{
    background-color: #fafafa;
    padding:3rem 3rem 1rem;
}

.performance_contents article h3{
    text-align: center;
    margin-bottom:2rem;
    font-size:1.5rem!important;
}
	

.performance_contents .faq dl {
  padding: 5px 0 20px 0;
  border-bottom: 1px solid #c8c8c8;
}

.performance_contents .faq dl dt,
.performance_contents .faq dl dd {
  display: flex;
  align-items: baseline;
  margin: 15px 0;
}

.performance_contents .faq dl dt div {
  margin: 0;
  padding-left: 15px;
  font-weight: 600;
  width:100%;
}

.performance_contents .faq dl dd div {
  margin: 0;
  padding-left: 15px;
  width:100%;
}

.performance_contents .faq div li{
  list-style-type:disc;
	line-height: 2;
	margin-bottom:10px;
}
.performance_contents .faq div li:last-child{
	margin-bottom:0;
}


.performance_contents .faq dl:last-of-type {
  border-bottom: none;
}

.performance_contents .faq dl dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #000;
  width: 2em;
  height: 2em;
  line-height: 2em;
}

.performance_contents .faq dl dd::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #144097;
  width: 2em;
  height: 2em;
  line-height: 2em;
  font-weight: 600;
}
	

@media screen and (max-width: 767px) {
    .performance_contents article{
        padding:2rem 1.5rem 1rem;
    }
    
    .performance_contents article h3{
        text-align: center;
        margin-bottom:1.5rem;
        font-size:1.15rem!important;
    }
    
}




/* ----------------------------------------------------------------------
care_contents
---------------------------------------------------------------------- */
.care_contents section {
	padding-top:50px;
}
.care_contents section:first-child {
	padding-top:0;
}

.care_contents .list {
	position: relative;
	line-height: 1.5;
}
.care_contents .list::before {
	content: attr(data-number);
	display: inline-block;
	color: #144097;
	font-size: 35px;
	font-weight: 600;
	border-bottom: 2px solid #144097;
	margin-bottom:10px;
}
.care_contents .care_img {
	width:100%;
	margin:2.5rem auto;
}
.care_contents article.box01 {
	border:2px solid #cc0000;
	padding:30px 30px 20px 30px;
	width:100%;
	margin-bottom:50px;
}

.care_contents article.box01 h3 {
	background-color:#cc0000;
	display: inline-block;
	padding:8px 30px;
	color:#fff;
	font-size:20px!important;
}
.care_contents article.box01 .box01_txt{	
	padding-right: 30px;
}
.care_contents article.box01 .box01_pic{	
	max-width:350px;
	margin:0 auto;
}

.care_contents article.box02 {
	border:2px solid #cc0000;
	padding:8px 30px 20px 30px;
	width:100%;
	margin-bottom:50px;
}

.care_contents article.box02 h3 {
	background-color:#cc0000;
	display: inline-block;
	padding:10px 30px;
	color:#fff;
	font-size:20px!important;
}
.care_contents article.box02 .box02_txt{	
	padding-right: 30px;
}
.care_contents article.box02 .box02_pic{	
	max-width:250px;
	margin:0 auto;
}


@media screen and (max-width: 767px){
	.care_contents .list::before {
		font-size: 25px;
	}
	.care_contents .care_img {
		margin:1.5rem auto 3rem auto;
	}
	.care_contents article.box01 {
		padding:20px;
		margin-bottom:30px;
	}
	.care_contents article.box01 .box01_txt{	
	padding-right: 0;
}
	.care_contents article.box01 h3 {
	padding:5px 20px;
	font-size:17px!important;
	margin-bottom:20px;
}
	.care_contents article.box01 h4 {
	margin-bottom:15px;
	font-size:16px;
}
	.care_contents article.box02 {
		padding:20px;
		margin-bottom:30px;
	}
	.care_contents article.box02 .box02_txt{	
	padding-right: 0;
}
	.care_contents article.box02 h3 {
	padding:5px 20px;
	font-size:17px!important;
	margin-bottom:20px;
}
	.care_contents article.box02 h4 {
	margin-bottom:15px;
	font-size:16px!important;
}
	
	.care_contents article.box02 .box02_pic{	
	max-width:220px;
	margin:10px auto 0 auto;
}

}

/* ----------------------------------------------------------------------
 guideline
---------------------------------------------------------------------- */
.guideline_contents article{ padding-bottom:50px;margin-bottom:40px;border-bottom:2px solid #144097;}
.guideline_contents article:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none;}

@media screen and (max-width: 767px){
	.guideline_contents article{padding-bottom: 20px; margin-bottom:40px;}
}

/* ----------------------------------------------------------------------
 lifetime
---------------------------------------------------------------------- */
.lifetime_contents .box{
	border:1px solid #144097;
	padding:30px 30px 0px 30px;
	margin-bottom:60px;
}
h3.lifetimeH3 {
	font-size: 20px!important;
	color:#144097;
	font-weight: 600;
}

@media screen and (max-width: 767px) {
	.lifetime_contents .box{
	padding:20px 20px 0px 20px;
	margin-bottom:40px;
}
	h3.lifetimeH3 {
		font-size: 16px!important;
	}
}


/* ----------------------------------------------------------------------
 members
---------------------------------------------------------------------- */
.members_contents {margin-top:80px;}
.members_contents .members_col{display: flex;justify-content:space-between;padding-top:40px;}
.members_contents .accessimg{width:300px;margin:0 0 1em 1rem;}
.members_contents .accessimg span{line-height: 1.5;display: block;margin-top:1rem;text-align: center;}
.members_contents .accessimg img{width:300px;}
.members_contents article {padding:40px 0;}
.members_contents .meetingroomimg{display: flex;justify-content:space-between;}
.members_contents .meetingroomimg .img{width:45%;max-width:400px;}
.members_contents .meetingroomimg .img img{width:100%;}

@media screen and (max-width: 767px){
	.members_contents {margin-top:50px;}
	.members_contents .members_col{display: block;padding-top:0;}
    .members_contents .accessimg{float:none;margin:0 auto 2em auto}
    .members_contents article {padding:30px 0;}
	.members_contents .meetingroomimg{display: block;}
	.members_contents .meetingroomimg .img{width:80%;max-width:400px;margin:0 auto;}
}


/* ----------------------------------------------------------------------
 join
---------------------------------------------------------------------- */

@media screen and (max-width: 767px) {
	.join_contents table.tbl01 th{
		display: block;
		width:100%;
	}
	.join_contents table.tbl01 td{
		display: block;
		width:100%;
		padding:20px 0;
		border-top:0;
	}
}



/* ----------------------------------------------------------------------
 contact
---------------------------------------------------------------------- */
/* -----お問い合わせ-----  */
.wpcf7 { background: #fff; border: none;max-width: 800px;margin:0 auto!important;}

p.contacttel{
    font-size:28px;
    font-weight: 600;
    margin:1rem 0 3rem 0;
    padding:0; 
    line-height: 1.2;
}

p.contacttel span{
    font-weight: 600;
    font-size: 18px;
        }

p.contacttel a{
    color:#000;
}

@media only screen and (max-width: 767px) {
p.contacttel{
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
}
p.contacttel span{
    font-size: 16px;
        }
}


/* 必須マーク */
.must{
	color: #fff!important;
	margin-right: 10px;
    margin-bottom:5px;
	padding: 4px 10px;
	background: #144097;
	font-size: 14px;
}

/* 任意マーク */
.free {
	color: #fff!important;
	margin-right: 10px;
    margin-bottom:5px;
	padding: 4px 10px;
	background: #666;
	font-size: 14px;
}


h4.privacyH4{text-align: center;margin-top:30px;}
.scroll-box{
   background-color: #fff;
   margin-bottom:30px;
   padding-top:20px;
}


.privacyOl {
  padding: 0 1.5em 0 0;
  margin:0;
  font-size: 1rem;}
  .privacyOl li {
    padding: 0.5em 0;
    margin-left: 2em;
    list-style-type: decimal;
    font-size: 1em;
    font-weight: 400; }
    .privacyOl li h3 {
      font-size: 1em!important;
      font-weight: 400;
      line-height: 1.75!important;}
    .privacyOl li p {
      font-size: 1em;
      font-weight: 400;
      padding-bottom:1em;
      line-height: 1.75!important;}
      .wpcf7-list-item-label{font-size: 1rem!important;}
  @media screen and (max-width: 767px) {
    .privacyOl {
      padding: 0 0.5em;
      margin:0; }
      .privacyOl li {
        padding: 0;
        margin-left: 0;
        list-style-type: decimal;
        font-size: 1em;
        font-weight: 400; }
        .privacyOl li h3 {
          font-size: 0.9em!important;
          font-weight: 400;} 
        .privacyOl li p {
          font-size: 0.9em;
          font-weight: 400;
          padding: 0.25em 0 1.5em 0;} 
}


/* チェックボックスデザイン変更 */
input[type="checkbox"] {
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

/* Form */
form {
  margin: 0 0 2em 0; }
  form > :last-child {
    margin-bottom: 0; }
  form > .fields {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 3em);
    margin: -1.5em 0 2em -1.5em; }
    form > .fields > .field {
      -moz-flex-grow: 0;
      -webkit-flex-grow: 0;
      -ms-flex-grow: 0;
      flex-grow: 0;
      -moz-flex-shrink: 0;
      -webkit-flex-shrink: 0;
      -ms-flex-shrink: 0;
      flex-shrink: 0;
      padding: 1.5em 0 0 1.5em;
      width: calc(100% - 1.5em); }
      form > .fields > .field.half {
        width: calc(50% - 0.75em); }
      form > .fields > .field.third {
        width: calc(100%/3 - 0.5em); }
      form > .fields > .field.quarter {
        width: calc(25% - 0.375em); }
  @media screen and (max-width: 480px) {
    form > .fields {
      width: calc(100% + 2em);
      margin: -1em 0 2em -1em; }
      form > .fields > .field {
        padding: 1em 0 0 1em;
        width: calc(100% - 1em); }
        form > .fields > .field.half {
          width: calc(100% - 1em); }
        form > .fields > .field.third {
          width: calc(100% - 1em); }
        form > .fields > .field.quarter {
          width: calc(100% - 1em); } }

label {
  display: block;padding-bottom:10px; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
  color: #000;
  display: block;
  width: 100%;
  padding: 0.65em 0.75em;
  background-color: #fff;
  border: solid 1px #ccc;
  outline: none; }
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="search"]:focus,
  input[type="url"]:focus,
  select:focus,
  textarea:focus {
    border: solid 1px #000; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
  line-height: 1.35em; }

textarea {
  min-height: 8em; }

::-moz-focus-inner {
  border: 0; }

::-webkit-input-placeholder {
  opacity: 0.375; }

:-moz-placeholder {
  opacity: 0.375; }

::-moz-placeholder {
  opacity: 0.375; }

:-ms-input-placeholder {
  opacity: 0.375; }


.wpcf7 {border: none; padding-top:10px; }
@media only screen and (max-width: 767px) {
    select {font-size: 16px!important;}
    .wpcf7 { width: 100%; margin: 0 0 2.5em !important; padding: 0; border: none; background: #fff;}
    .wpcf7 form { margin: 0; }
    .wpcf7-submit { background-color: #000!important; }
    
}
