
body{
    background-color: #ffffff;
	width: 100%;
  font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif;
  font-weight: 400;
  	font-size:18px; 
    line-height:1.6;
	color: #494949;
}
h2, h3, h4, nav{
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
  }
.marugo{
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
  }

a:hover{
opacity:0.9;
filter:alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
a:hover img{
opacity:0.9;
filter:alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
input[name="image"]:hover { opacity:0.9; filter:alpha(opacity=70); }


/*___________________ ボタン _____________________*/
.brn01{
	font-weight: bold;
    color: #fff;
    background-color: #DF6A87; 
}
.btn_mg button:hover, .button button:hover {
    cursor: pointer;
}

/*___________________ ヘッダー _____________________*/

header{
    max-width:1200px;
    margin: 0 auto;
    padding: 1em 4em;
    position: relative;
}@media screen and (max-width:640px){
    header{
        padding: 0;
        width: 100%;
        height: 100%;
    }
}
.gnav{
    width: 100%;
    display: flex;
    margin: 1em auto 0.2em;
    align-items: center;
}
nav .home img{
    width: 44%;
    margin-top: -1em;
}
.menu01 ul, .menu02 ul{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin: 2em auto 0.2em;
    padding-top:1em;
}
.menu01 ul li, .menu02 ul li{
    flex: 1 1;
    display: flex;
    position: relative;
}
.menu01 ul li:after, .menu02 ul li:after{
    content: "";
    display: block;
    width: 2px;
    height: 35px;
    background-color: #DDDDDD;
    position: absolute;
    right: -1px;
    top: calc((100% - 35px)/2);
}
.menu01 ul li:last-child::after, .menu01 ul li:first-child::after, .menu02 ul li:last-child::after, .menu02 ul li:first-child::after  {
    content: none;
}
.menu01 ul li a, .menu02 ul li a{
    font-size: 85%;
    font-weight: bold;
    color: #362F3C;
    flex: 1 1;
    display: flex;
    justify-content: center;
    padding: 0 10px;
    align-items: center;
    word-break: keep-all;
    text-align: center;
    line-height: 1.1em;
}

.Toggle01, .Toggle02{
 display: none;
}
.logo img{
    max-width:360px;
    margin-top: 2.5em;
}@media screen and (max-width:640px){
    .logo img{
        width: 70%;
        margin: 0;
    }
}

/*ナビゲーション部分*/

@media screen and (max-width:640px){ 
nav{
 width: 100%;
 height: 70px;
 position: relative;
}
 
.drawer{
 display: flex;
 flex-direction: row;
 align-items:flex-end;
 justify-content: space-between;
 position: relative;
 height: 70px;
 padding: 0 1em;
}

.menu01 ul, .menu02 ul{
    margin: 1em auto 2em;
    display: block;
    width: 100%;
    height: 100%;
    align-items: center;

}
.menu01 ul li, .menu02 ul li{
    position: relative;
}
.menu01 ul li a, .menu02 ul li a{
    display:block;
    font-weight:bold;
    padding: 0.5em;
    text-align: left;
    text-decoration:none;
}
.menu01 ul li a:before, .menu02 ul li a:before{
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("../image/arr02.png") no-repeat;
    background-size:contain;
    margin-right: 6px;
    vertical-align: middle;
    }
.menu01 ul li:after, .menu02 ul li:after{
        display: none;
    }
.menu01, .menu02{
  text-align:center;
  /*
  transition: 0.5s ease; 滑らかに表示
  -webkit-transform: translateX(100%); 画面より100%外へ押し出し非表示にさせる
  transform: translateX(100%); 逆から出す場合は、マイナスをつける
  */
    position: fixed;
    z-index: 1;
    padding: 1em;
    background-color: #fff;
    display: none;
      opacity: 0;
  transition: opacity 0.5s, display 0.5s;
  transition-behavior: allow-discrete;
}
 
/*OPEN時の動き*/
.menu01.open, .menu02.open {
 /*
 -webkit-transform: translateX(0%);
 transform: translateX(0%); メニューを元の位置へ戻す
 */
    z-index: 1;
    display: block;
    opacity: 1;

  @starting-style {
    opacity: 0;
  }
    }
.IsScrollAllowed {
  overflow: hidden;/*背景を固定する*/
}
 
/*トグルボタンのスタイルを指定*/
.Toggle01, .Toggle02 {
    display: block;
    position:absolute;
    width: 48px;
    height: 48px;
    cursor: pointer;
    z-index: 3;
  right:15px;
     background: linear-gradient(90deg, #4CBA5E 0%, #02A194 100%);
    border-radius: 10px;
}
 
.Toggle01 span, .Toggle02 span {
    display: block;
    position: absolute;
    align-items: center;
    left:14px;
    width: 20px;
    border-bottom: solid 4px #fff;
    border-radius: 3px;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
 
}
 /*各ボーダー少しずつずらす*/
.Toggle01 span:nth-child(1), .Toggle02 span:nth-child(1) {
    top:14px;
}
 .Toggle01 span:nth-child(2), .Toggle02 span:nth-child(2)  {
    top: 22px;
}
 .Toggle01 span:nth-child(3), .Toggle02 span:nth-child(3)  {
    top: 31px;
}
.Toggle01.active span:nth-child(1), .Toggle02.active span:nth-child(1) {
    top: 22px;
/* 1番目のspanをマイナス45度に */
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.Toggle01.active span:nth-child(2),
.Toggle01.active span:nth-child(3), .Toggle02.active span:nth-child(2),
.Toggle02.active span:nth-child(3)  {
    top: 22px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
    .head_container2 img{
        width: 80%;
    }
    .head_container2 .email{
    width: 65%;
}
    .head_container2 .nav{
        display: flex;
        justify-content: space-between;
        margin: 0;
        align-items: flex-start;
    }
    .head_container2 ul li{
        flex: auto;
    }
.head_container2 .email #email_01, .head_container2 .email #email_02, .head_container2 .email #email_03{
    border: #DDDDDD solid 2px;
    border-radius: 5px;
    padding: 0.5em;
    width: 82%;
}
.head_container2 .btn_mg{
    border: 0;
    background: 0;
    width: 35%;
}
.head_container2 .btn_mg button{
    border: none;
    background: 0;
    vertical-align:text-top;
}
.head_container2 .btn_mg button img{
    width: 100%;
}
}

.head_container ul.nav{
    list-style: none;
    width: 34%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    position: absolute;
    top: 1em;
    right: 3em;
    row-gap:0.5em;
}
.foot .head_container ul.nav{
    list-style: none;
    width: 34%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    position: absolute;
    top: 2em;
    right: 3em;
    row-gap:0.5em;
}
.head_container .nav .arrow01 a{
    font-size: 70%;
    color: #727272;
    font-weight: bold;
    padding-bottom: 0.4em;
}
.head_container .nav .arrow01:before{
    content: '';
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background: url("../image/arr01.png") no-repeat;
    background-size:contain;
    margin-right: 6px;
    vertical-align: middle;
}
.head_container .nav li.btn_toi{
    width: 60%;
    display: inline-block;
    margin-left: 1em;
}
.head_container .nav .btn_toi img{
    width: 100%;
}
.head_container .nav .email{
    width: 70%;
}
.head_container .nav .email #email_01, .head_container .nav .email #email_02, .head_container .nav .email #email_03{
    width: 65%;
    border: #DDDDDD solid 2px;
    border-radius: 5px;
    margin-left: 24%;
    padding: 0.6em;
}
.head_container .nav .btn_mg{
    border: 0;
    background: 0;
    width: 30%;
}
.head_container .nav .btn_mg button{
    border: none;
    background: 0;
    vertical-align:text-top;
}
.head_container .nav .btn_mg button img{
    width: 100%;
}
.sp{
    display: none !important;
}
.pc{
    display: block;
}
@media screen and (max-width:640px){
    .sp{
        display: block !important;
    }
    .pc{
        display: none !important;
    }
}
nav li a.current{
  color:#00A67B;
}



/*___________________ コンテンツ _____________________*/

.ttl01{
    width: 1200px;
    height: 203px;
    margin: 1em auto;
    background: url("../image/h2.png") no-repeat;
    background-size:contain;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}@media screen and (max-width:640px){
    .ttl01{
        max-width: 100%;
        height: auto;
        margin: 0.5em auto;
    background: url("../image/h2_sp.png") no-repeat;
        background-size:contain;
}
}
h2{
    font-size: 160%;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 0.7em;
}@media screen and (max-width:640px){
    h2{
        padding: 1.8em 0;
    }
}
h2 span{
    font-size:30%;
    font-weight: normal;
    opacity: 0.66;
}
#wrap{
	margin: 0px auto;
	overflow: hidden;
}@media screen and (max-width:640px){
    #wrap{
        font-size: 80%;
        box-sizing: border-box;
    }
}
.ttl02{
    width: 1000px;
    height: auto;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2em auto 3em;
    padding: 1.5em 0 1em;
}@media screen and (max-width:640px){
    .ttl02{
        width: 90%;
        margin: 1em auto 2em;
    }
}
h3{
    font-size: 120%;
    font-weight: bold;
    color: #494949;
    text-align: center;
    line-height: 0.7em;    
}  

h3 span{
    font-size:35%;
    background: linear-gradient(90deg, #4CBA5E 0%, #02A194 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    font-weight: bold;
}
h4{
    font-size: 145%;
    font-weight: bold;
   font-feature-settings: "palt";
    position: relative;
    margin: 0 auto 1em;
}@media screen and (max-width:640px){
    h4{
        line-height: 1.4em;
    }
}
h4:after{
    content: "";
    width: 940px;
    height: 2px;
    display: inline-block;
    background-color: #BCBCBC;
    position: absolute;
    bottom: -0.4em;
    left: 0em;
}@media screen and (max-width:640px){
    h4:after{
        width: 100%;
    }
}
.section{
	width: 940px;
	margin: 1.8em auto 5em;
	overflow: hidden;
}@media screen and (max-width:640px){
    .section{
        width: 100%;
        padding: 0 1em;
        box-sizing: border-box;
        margin-bottom: 3em;
    }
}
.box01 img{
    width: 30%;
    margin: 0 0 2em 5em;
}@media screen and (max-width:640px){
    .box01 img{
        margin: 0 0 2em 2em;
    }
}
.box01 p a{
	color: #127DE6;
}

.box02{
	margin: 1em auto;
    padding: 1.5em 2em;
    background-color: #F4F2DB;
}@media screen and (max-width:640px){
    .box02{
        padding: 1em;
    }
}
.box02 ul{
    line-height: 3em;
}@media screen and (max-width:640px){
    .box02 ul{
        line-height: 1.5em;
    }
    .box02 .indent {
          text-indent: -1.4em;
          padding-left: 1.4em;
    }
    .box02 li + li {
    padding: 1em 0;
    }
    .box02 li:first-child{
        padding-bottom: 1em;
    }
     .box02 li:last-child{
        padding-bottom: 0;
    }

}
.box02 li + li {
    border-top:1px solid #C3C3C3;
}
.box02 li:before{
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("../image/check01.png") no-repeat;
    background-size:contain;
    margin-right:0.5em;
    vertical-align: middle;    
}
.box03 img{
    width: 70%;
    margin-bottom: 2em;
}

.img01{
    width: 100%;
}
.img01 img{
    display: block;
    width: 65%;
    margin: 0 auto 4em;
}@media screen and (max-width:640px){
    .img01 img{
        width: 80%;
        margin: 1em auto 2em;
    }
}

.box04{
    width: 85%;
    margin: 1em auto 0;
    position: relative;
}@media screen and (max-width:640px){
    .box04{
        width: 95%;
    }
}
.box04 span{
    font-size: 120%;
}
.box04 ul{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom:1em;
}
.box04 .photo{
    width:25%;
}
.box04 .speechBubble_right, .box04 .speechBubble_left{
    width:60%;
}
.box04 .text, .box05 .text{
    width: 65%;
}
.box04 .photo img, .box05 .photo img{
    width: 100%;
}
.speechBubble_left {
  position: relative;
  display: inline-block;
  margin-left: 20px;
  padding: 1.5em 2em;
  border-radius: 8px;
  background-color: #b3e6d9;
  text-align: left;
  line-height: 1.5;
  color: #494949;
}
.speechBubble_left::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 10px 20px 10px 0;
  border-color: transparent #b3e6d9 transparent transparent;
  translate: -100% -50%;
}
.speechBubble_right {
  position: relative;
  display: inline-block;
  margin-right: 20px;
  padding: 1.5em 2em;
  border-radius: 8px;
  background-color: #b3e6d9;
  text-align: left;
  line-height: 1.5;
  color: #494949;
}

.speechBubble_right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #b3e6d9;
  translate: 100% -50%;
}
@media screen and (max-width:640px){
    .speechBubble_right, .speechBubble_left{
        padding: 1em;
    }
    .box04 .photo{
    width:30%;
}
}
.box04 .btn_amz{
    width: 50%;
    position: absolute;
    right: 5em;
    top:50%;
}@media screen and (max-width:640px){
    .box04 .btn_amz{
        right: 0em;
    }
}
.box05{
    width: 100%;
    margin: 1em auto 0;
}@media screen and (max-width:640px){
    .box05{
        width: 95%;
    }
    .box05 .text02{
    font-size: 70%;
}
}
.box05 ul{
    width: 100%;
    display: flex;
    justify-content:flex-start;
    flex-wrap: nowrap;
    align-items: center;
}
.box05 .photo{
    width:35%;
    margin: 0 1em 1em 0;
}
.box05 .photo02{
    width:35%;
    margin-right: 1em;
}@media screen and (max-width:640px){
    .box05 .photo{
        width:40%;
}
}

.bold{
    font-weight: bold;
}
.fw600{
    font-weight: 600;
}
.mb1{
    margin-bottom: 1em;
}
.mb3{
    margin-bottom: 3em;
}
.mt2{
    margin-top: 2em;
}
.mt3{
    margin-top: 3em;
}
.txt_ce{
    text-align: center;
}
.f120{
    font-size: 120%;
}

p.cap {
    color: #727272;
    font-size: 70%;
    text-align: right;
}
/*___________________ フォーム _____________________*/
.form ul{
    width: 70%;
    margin: 1.3em auto 0.8em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap:1em;
}@media screen and (max-width:640px){
    .form ul{
        width: 95%;
    }
}
.form ul li{
    width: 50%;
}
.form .input #name01, .form .input #name02, .form .input #email01, .form .input #email02{
    width: 100%;
    background-color: #fff;
    text-align: center;
    border: 2px solid #ddd;
    padding: 1em 0.5em;
    box-sizing: border-box;
}
::placeholder{
    color: #BCBCBC;
}
.formbtn img{
    width: 30%;
    margin: 0 auto;
}@media screen and (max-width:640px){
    .formbtn img{
        width: 50%;
    }
}
/*--------- フッター -----------*/
.foot{
    background-color: #fff;
    padding-top: 2em;
    height: 100%;
}@media screen and (max-width:640px){
    .foot{
        padding-top: 0;
    }
    .foot .menu02{
        position: absolute;
        bottom:3em;
    }
}
.foot .menu02 ul li:first-child::after {
    content: "";
}
footer {
	font-size: 65%;
	text-align: center;
	margin: 0 auto;
    background-color: #fff;
    padding: 3em 0 5em;
}

/*--------- Wordpress用 -----------*/
#wrap h1{
    display: none;
}
.wpcf7{
    width: 70%;
    margin: 4em auto 3em;
    color: #494949;
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
}@media screen and (max-width:640px){
    .wpcf7{
        width: 90%;
    }
}
.wpcf7 form p{
    margin-top: 1em;
}
/* 必須フィールドのラベルスタイル */
.wpcf7-form .required {
color: #DF6A87;
}
.wpcf7-text, .wpcf7-textarea{
    padding: 1em;
    border: 1px solid #ddd;
    background-color: #fff;
    width: 100%;
    margin-top: 0.3em;
    box-sizing: border-box;
}
.wpcf7-textarea{
    min-height: 8em;
}
.wpcf7 .sbm-img{
    width: 45%;
    margin: 1em auto;
    display: block;
}@media screen and (max-width:640px){
    .wpcf7 .sbm-img{
        width: 70%;
    }
}

/*---------講師陣------------*/
.lecturer_list{
	width: 100%;
	margin: 0 auto 5em;
    display: grid;
    grid-template-columns: repeat(4, 23%);
    gap: 10px 20px;
    justify-content: center;
}@media screen and (max-width:640px){
    .lecturer_list{
        grid-template-columns: repeat(2, 45%);
        gap:8px 16px; 
    }
}
.lecturer-card{
    background: #fff;
    padding: 1.5em;
    text-align: center;
    margin-bottom: 0.5em;
    border-radius: 10px;
}@media screen and (max-width:640px){
    .lecturer-card{
        padding: 1em;
        box-sizing: border-box;
        /*margin: 2em auto 3em;*/
   }
}
.lecturer-card .lecturer-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius:50%;
    margin-bottom: 1em;
}
/*
.lecturer_thum li .subname{
    font-size: 70%;
}*/
.lecturer-card .lecturer-name{
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
    font-size: 110%;
    text-align: center;
    color: #494949;
    line-height: 1.1;
}@media screen and (max-width:640px){
    .lecturer-card .lecturer-name, .section-title{
        padding: 0;
        font-size: 100%;
    }
}
.section-title{
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
    font-size: 140%;
    text-align: center;
    color: #494949;
}
.top-trainers{
    margin-top: 1.5em;
}

/*----------詳細ページ---------*/
.lecturer_detail{
    padding: 2em 2.5em;
    background-color: #fff;
    border-radius: 10px;
}@media screen and (max-width:640px){
    .lecturer_detail{
        padding: 1em;
    }
}
.lecturer_detail .lecturer_p{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid #C5C5C5;
    padding-bottom: 0.5em;
  font-family: 'M PLUS Rounded 1c', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  font-weight: 700;
    font-size: 130%;
}
.lecturer_detail .lecturer_p .furigana{
    font-size: 70%;
}
.lecturer_detail .lecturer_p .license{
    font-size: 80%;
    font-family: initial;
}
.lecturer_detail dt{
    width: 30%;
    margin-right: 1em;
}
.lecturer_detail dd{
    width: 65%;
}
.lecturer-photo {
    aspect-ratio: 1/1;
}
.lecturer_detail .lecturer-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius:50%;
}
.lecturer_detail .detai_text{
    display: block;
    margin-top: 1.5em;
}
.lecturer_detail .detai_text dt:nth-child(odd){
    background-color: #F7F7F3;
    padding: 0.5em 0.5em 0.5em 2em;
    position: relative;
    width: 100%;
    box-sizing:border-box;
}
.lecturer_detail .detai_text dt:nth-child(odd)::before{
    content: "";
     display: block;
    width: 18px;
    height: 18px;
    background: #00A67B;
    position: absolute;
    left: 0.5em;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 5px;
}@media screen and (max-width:640px){
    .lecturer_detail .detai_text dt:nth-child(odd)::before{
        vertical-align: top;
        top: inherit;
        bottom: inherit;
    }
}
.lecturer_detail .detai_text dd:nth-child(even){
    padding: 0.5em 0.5em 0.5em 2em;
    width: 100%;
    box-sizing:border-box;
    margin-bottom: 1em;

}


/*-------------パンくず--------------*/
.breadcrumbs-list {
  margin: -0.5em auto 0;
  max-width:1200px;
  padding:0 7rem;
}

.breadcrumbs-list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.breadcrumbs-list li {
  line-height: 2;
  font-size: 12px;
 color:#8CC9B5;
font-weight:600;
}

.breadcrumbs-list li:not(:first-child) {
  padding-left: 5px;
}

.breadcrumbs-list li .arrow {
  margin-right: 5px;
}

.breadcrumbs-list li a {
  color: #8CC9B5;
  font-size: 12px;
  border-bottom:1px solid #8CC9B5;
}
@media screen and (max-width:640px){
    .breadcrumbs-list{
        display: none;
    }
}

/*---------協会認定員------------*/

.search_area, .search_certification{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 1em;
    font-weight: bold;
    margin: 0 auto;
    width: 90%;
    box-sizing: border-box;
}@media screen and (max-width:640px){
    .search_area, .search_certification{
        padding: 0.4em;
        width: 100%;
    }
}
.search_area li:first-child, .search_certification li:first-child{
    width: 18%;
}@media screen and (max-width:640px){
    .search_area li:first-child, .search_certification li:first-child{
    width: 20%;
    }
}
.search_area .pdown, .search_certification .checkbox{
    width: 70%;
}@media screen and (max-width:640px){
    .search_area .pdonw, .search_certification .checkbox{
        width: 80%;
    }
    }
.search_area .pdown > select{
    border: 1px solid #DDDDDD;
    padding: 1em;
    font-size: 1em;
    width: 90%;
}
.search_certification input[type="checkbox"] {
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="checkbox"] {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #ddd;
    background-color: #fff;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 6px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}
.search_certification .checkbox{
    line-height: 1;
}
.search_certification label:first-child{
    margin-right: 1em;
}@media screen and (max-width:640px){
    .search_certification label{
        display: block;
        margin-top: 0.5em;
    }
}

/*-------------------*/

.member_detail{
    padding: 2em;
    background-color: #fff;
    border-radius: 10px;
    margin-bottom:2em;
}@media screen and (max-width:640px){
    .member_detail{
        padding: 1em;
    }
}
.member_p{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid #C5C5C5;
    padding-bottom: 1em;
}

.member_p dt{
    width: 30%;
    margin-right: 1.5em;
}@media screen and (max-width:640px){
    .member_p dt{
        width:  50%;
    }
}
.member_p dd{
    width: 70%;
}
.member_p dt img{
    width: 100%;
    height:auto;
}
.member_p dd img{
    width: 50%;
}@media screen and (max-width:640px){
    .member_p dd img{
        width: 95%;
    }
}
.member_p .prefecture{
    background-color: #3D5899;
    text-align: center;
    color: #fff;
    font-weight: 600;
    padding: 0.1em 1.5em;
    width: 4em;
    border-radius: 20px;
}

.member_txt{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}
.member_txt dt{
    width: 30%;
    font-weight: bold;
    padding: 0.4em 0;
    border-bottom: 1px solid #C5C5C5;
}@media screen and (max-width:640px){
    .member_p dt{
        width:  40%;
    }
}
.member_txt dd{
    width: 70%;
    padding: 0.4em 0;
    border-bottom: 1px solid #C5C5C5;
}
.member_txt dt:last-of-type, .member_txt dd:last-of-type{
    border: none;
}
p.nomember {
    margin: 0 auto 4em;
    text-align: center;
}

/*---------改善事例------------*/
.ttl03{
    padding: 0.8em 0;
    border-top: 1px solid #BCBCBC;
    border-bottom: 1px solid #BCBCBC;
    font-size: 130%;
    text-align: center;
    margin: 0 auto 1.5em;
    width: 94%;
}@media screen and (max-width:640px){
    .ttl03{
        width: 100%;
    }
}
.improvement_list .midashi{
    font-weight: bold;
}
.improvement_list .subtxt{
    font-size: 90%;
}

.improvement_list{
    width: 94%;
    margin: 0 auto 2em;
}
.improvement_list ul{
    display: grid;
    grid-template-columns: repeat(3, 30%);
    gap: 10px 30px;
    justify-content: center;
}@media screen and (max-width:640px){
    .improvement_list{
        margin-top: 1em;
        width: 100%;
    }
    .improvement_list ul{
        grid-template-columns: repeat(2, 48%);
        gap:8px 16px;
    }
}
.improvement_list ul img{
    width: 100%;
    object-fit: cover;
}
.improvement_list ul li{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    margin-bottom: 1em;
}
.improvement_list .movie{
    width: 100%;
    aspect-ratio: 16 / 9;
}
.improvement_list .movie iframe {
  width: 100%;
  height: 100%;
}