@charset "UTF-8";

.bgwhite {
    background: rgba(255,255,255,0.8);
    }
.sub_mv {
    height: 200px;
    /*padding-top: 74px;*/
    background: url(../images/common/mv.jpg) no-repeat bottom / cover;
}
.info-template-default .sub_mv { height: 100px; }

.null_mv {
    height: 200px;
    background: #8FC31F; color: #fff;
}
.null_mv .inner {
    background: url(../images/common/f_logo.png) 10px 10px no-repeat; background-size: 180px; height: 100%;
}

.sub_cmn_ttl {
    position: relative;
    padding-bottom: 15px;
    font-weight: bold;
    border-bottom: 3px solid #F1F1F1;
}

.sub_cmn_ttl::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 150px;
    height: 3px;
    background: linear-gradient(to right, #7CD2F6, #A48FD8);
}

.cmn_btn {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 320px;
    padding: 10px;
    text-align: center;
    color: #707071;
    background: #F1F1F1;
}

.cmn_btn::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #707071;
    transform: translateY(-50%);
}

.normal a { text-decoration: underline; color: #0044cc; }

.strikethrough { position: relative; /*text-decoration: line-through underline;*/ }
.strikethrough:after { content: ''; display: block; width: 100%; height: 3px; margin-top: -2px; border-top: solid 1px #f00; border-bottom: solid 1px #f00; position: absolute; left: 0; top: 50%; }

.boxattention { text-align: center;padding: 10px; border: 2px solid #f99; border-radius: 10px; color: #f00; }


/************************************
******** イベント・セミナー案内 *******
************************************/

.archive_list {
    padding: 15px 0;
    color: #707071;
    background: #F1F1F1;
}

.archive_list_item {
    margin: 5px 15px;
}

.archive_list_item select {
    width: 215px;
    height: 42px;
    margin-left: 20px;
    padding: 0 10px;
}

.info_cat {
    display: inline-block;
    padding: 5px 20px;
    border-radius: 100px;
    border: 2px solid;
}

.info_cat.seminar_info {
    color: #7ED0F6;
}

.info_article a {
    color: #0000EE;
}

.info_slider .slick-prev,
.info_slider .slick-next {
    top: calc(100% + 50px);
    width: 50px;
    height: 50px;
    text-align: center;
    background: #666;
    transform: none;
}

.info_slider .slick-next {
    right: auto;
    left: calc(50% + 10px);
}

.info_slider .slick-prev {
    left: auto;
    right: calc(50% + 10px);
}

.info_slider .slick-disabled {
    opacity: .5;
    cursor: inherit;
}

.info_slider .slick-next:before,
.info_slider .slick-prev:before {
    /*font-family: 'Font Awesome 5 Free';*/
    font-weight: bold;
    opacity: 1 !important;
    color: #fff;
}

.info_slider .slick-next:before {
    content: '＞'/*'\f054'*/;
}

.info_slider .slick-prev:before {
    content: '＜'/*'\f053'*/;
}

.info_item_list {
    margin: 0 -7px;
    width: calc(100% + 14px);
}

.info_item_list li.tnews_item {
    width: 33.33%;
}

.info_item_list li.tnews_item a {
    height: 100%;
}

@media screen and (max-width: 768px) {
    .info_item_list li.tnews_item {
        width: 50%;
    }
}

@media screen and (max-width: 480px) {
    .archive_list_item {
        width: calc(100% - 30px);
    }
    .archive_list_item select {
        width: calc(100% - 95px);
    }
    .info_slider .slick-prev,
    .info_slider .slick-next {
        top: calc(100% + 25px);
        width: 35px;
        height: 35px;
    }
    .info_slider .slick-next:before,
    .info_slider .slick-prev:before {
        font-size: 15px;
    }
    .info_item_list li.tnews_item {
        width: 100%;
    }
}

/*統合案内*/
.integration { margin-bottom: 150px; }
.integration {}
.integration {}
.integration .integration_card { border: 1px solid #ccc; border-radius: 30px; margin-top: 60px; display: flex; flex-direction: row-reverse; padding: 30px 0; }
.integration .integration_card img { /*float: right;*/ width: 50%; }
.integration .integration_card img:first-of-type { border-style: dashed; border-color: #ccc; border-width: 0 0 0 1px; }
@media screen and (max-width: 480px) {
  .integration .integration_card { flex-direction: column; padding: 20px 0; border-radius: 20px; }
	.integration .integration_card img { width: 100%; }
	.integration .integration_card img:first-of-type { border-width: 0 0 1px 0; }
}

/*セミナー*/
.info_article .sinfo .pdfbtn a { color: #333; }
.info_article .sinfo .col-white a { color: #fff; }

.info_article .sinfo img { vertical-align: bottom; }

.sinfo { margin-bottom: 150px; }
.sinfo .s_head img { width: 100%; height: auto; }

.s20220808 h3 { font-weight: bold; font-size: 18px; line-height: 25px; margin-bottom: 10px; }
.s20220808 .s_main { padding: 50px 30px; }
.s20220808 .recommend { margin: 30px 0 0 0; padding: 10px 20px; background: #f7e794; }
.s20220808 .recommend ul { padding: 0 0 0 30px; margin: 0;font-size: 16px; }
.s20220808 .recommend li { margin-bottom: 5px; }
.s20220808 .recommend li:before { display: inline-block;
    vertical-align: middle;
    content: '';
    width: 1em;
    height: 1em;
    background: #5B9000;
    border-radius: 50%;
    margin-right: 7px;
}
.s20220808 .recommend h3 .attention { padding: 3px 10px; margin: 10px; color: #F00; border: 1px solid #f00; font-weight: normal; font-size: 16px; display: inline-block; }

.s20220808 .program { margin: 30px 0 0 0; border: 2px solid #8FC31F; padding: 10px 20px; }
.s20220808 .program h3 { color: #8FC31F; }
.s20220808 .program dl { font-size: 16px;}
.s20220808 .program dt { font-weight: bold; display: inline-block; border-bottom: 2px solid #8FC31F; padding: 0 5px; }
.s20220808 .program dd { padding: 0 0 20px 30px; }
.s20220808 .program dd img.portrait { width: 125px; float: left; margin: 0 15px 20px 0; }
.s20220808 .program dd .mfoot { clear: both; }
.s20220808 .program ul { font-size: 16px; padding: 0 0 0 20px; }
.s20220808 .program li .name { font-weight: bold; display: inline-block; width: 80px; }

.s20220808 .detail { margin: 30px 0 0 0;}
.s20220808 .detail table { font-size: 16px; line-height: 22px; border: 2px solid #8FC31F; width: 100%; }
.s20220808 .detail th,.s20220808 .detail td { padding: 10px; }
.s20220808 .detail th { background: #8FC31F; color: #fff; font-weight: bold; white-space: nowrap; }


.s20220821 .s_head { background: #8FC31F; }
.s20220821 .s_head p.ver3 { text-align: center; padding: 20px 10px 30px 10px; }

.s20220821 .s_head .theme { background: #fff; padding: 20px 0 20px 25%; }
.s20220821 .s_head .theme h3 { color: #22345a; display: inline-block; width: 25%; background: #22345a; border: 1px solid #22345a; padding: 0 5px; margin: 0 0 0 -70px; }
.s20220821 .s_head .theme ul { color: #22345a; font-size: 18px; line-height: 30px; padding: 0; margin: -28px 0 0 10px; }
.s20220821 .s_head .theme li {}
.s20220821 .s_head .theme li .stxt { font-size: 14px; }

.s20220821 .s_main { display: flex; min-height: 150px; width: 100%; }
.s20220821 .s_main h3 { display: inline-block; font-size: 18px; line-height: 20px; padding: 5px 10px; border: 1px solid #fff; margin: 20px 0 10px 0; }
.s20220821 .s_main p { display: block; font-size: 18px; line-height: 25px; margin: 0 10px; }
.s20220821 .s_main p .stxt { font-size: 13px; line-height: 16px; margin: 10px 0; display: block; }

.s20220821 .s_main .approach { flex: 3; background: #22345a; width: 75%; }
.s20220821 .s_main .approach p { /*padding-right: 110px;*/ overflow: hidden; }
.s20220821 .s_main .approach .imgbox { width: 33%; height: auto; float: left; margin-right: 10px; }
.s20220821 .s_main .approach img { width: 50%; height: auto; float: right; }
.s20220821 .s_main .approach img.img3 { width: 100%; }

.s20220821 .s_main .approach.ver3 img.textimg { width: auto; height: 110px; margin: 20px 30px 0 -27px; float: left; }

.s20220821 .s_main .place,.s20220821 .s_main .place2 { flex: 1; background: #8FC31F; position: relative; }
/*.s20220821 .s_main .place p { padding-bottom: 10px; }
.s20220821 .s_main .place img { height: 150px; width: auto; float: left; margin-right: 10px; margin-left: -110px; }
.s20220821 .s_main .capacity { background: #22345a; border-radius: 300px; text-align: center; width: 120px; height: 120px; position: absolute; right: 10px; top: -70px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.s20220821 .s_main .capacity h3 { border-width: 0 0 1px 0; padding: 0 0 5px 0; margin: 10px 0 5px 0; font-size: 16px; }
.s20220821 .s_main .capacity p { font-size: 25px; line-height: 25px; }*/

.s20220821 .s_main .approach,.s20220821 .s_main .place,.s20220821 .s_detail { color: #fff; position: relative; }

.s20220821 .profile { display: flex; }
.s20220821 .profile .profile_s { flex: 1; display: flex; flex-direction: column; }

.s20220821 .profile .profile_s .p_block { border-right: 1px solid #22345a; flex: 1; }
.s20220821 .profile .profile_s:last-child .p_block { border-right: none; }
.s20220821 .profile .profile_s p { font-size: 13px; line-height: 21px; padding: 0 10px; }
.s20220821 .profile .profile_s p.p_theme { text-align: center; border-right: 1px solid #fff; background: #22345a; color: #fff; font-size: 14px; line-height: 20px; padding: 10px 0; margin-right: -1px; }
.s20220821 .profile .profile_s p.p_theme .stxt { font-size: 12px; line-height: 18px; }
.s20220821 .profile .profile_s:last-child p.p_theme { padding: 0; border-right: none; }
.s20220821 .profile .profile_s p.p_ttl { margin-bottom: 0; color: #8FC31F; font-weight: bold; }
.s20220821 .profile .profile_s h4 { font-size: 20px; line-height: 25px; font-weight: bold; text-align: center; padding: 0 10px; }
.s20220821 .profile .profile_s h4 span { font-size: 14px; margin-left: 5px; }
.s20220821 .profile .profile_s p.p_sub { text-align: center; margin-top: 10px; line-height: 16px; padding-right: 0; }
.s20220821 .profile .profile_s p.p_main { padding-bottom: 20px; }
.s20220821 .profile .profile_s p.p_main img { float: right; width: 40%; margin: 0 0 10px 10px; }

.s20220821 .s_detail { background: #8FC31F; position: relative; padding: 10px; }
.s20220821 .s_detail table { font-size: 16px; line-height: 22px; color: #fff; }
.s20220821 .s_detail .stxt { font-size: 13px; line-height: 18px; margin-top: 5px; display: inline-block; }

.s20220821 .s_detail th,.s20220821 .s_detail td { padding: 10px 10px 10px 10px; }
.s20220821 .s_detail th { border-right: 1px solid #fff; text-align: right; white-space: nowrap; }
.s20220821 .s_detail td { text-align: left; }
.s20220821 .s_detail a { text-decoration: underline; }

.s20220821 .s_benefit { background: #22345a; border-radius: 300px; text-align: center; width: 200px; height: 200px; position: absolute; left: calc(50% - 100px); /*right: 20px;*/ bottom: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; }
.s20220821 .s_benefit img { height: 50px; margin-top: 5px; }
.s20220821 .s_benefit h3 { border: none; border-bottom: 1px solid #fff; padding: 0 0 10px 0; margin: 0 15px 10px 15px; font-size: 22px; line-height: 25px; }
.s20220821 .s_benefit h3 .stxt { font-size: 16px; display: block; }
.s20220821 .s_benefit p { font-size: 14px; line-height: 18px; }

.s20220821 .s_benefit2 { background: #00B9EF; border-radius: 300px; text-align: center; width: 160px; height: 160px; position: absolute; left: calc(50% - 80px); /*right: 20px;*/ bottom: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; }
.s20220821 .s_benefit2 p { font-size: 30px; line-height: 40px; padding: 0px 0 0 0; }
.s20220821 .s_benefit2.catch img { height: 100%; position: absolute; top: 0; left: 0; }

.s20220821 .s_entry { background: #22345a; padding: 30px 10px 40px 10px; margin-bottom: 10px; text-align: center; }
.s20220821 .s_entry h3 { display: inline-block; font-size: 18px; line-height: 20px; padding: 5px 30px; border: 1px solid #fff; margin: 0 0 0 0; color: #fff; }

@media screen and ( max-width: 670px) {
	.s20220821 .s_main { display: block; height: auto; }
	.s20220821 .s_main h3 { margin-top: 20px; }
	.s20220821 .s_main .approach { width: 100%; }
	.s20220821 .s_main .approach img { width: 155px; margin-right: 0; }
	.s20220821 .s_main .approach p { padding: 0 0 20px 0; }
	.s20220821 .s_main .place { height: 130px; }
	.s20220821 .s_main .place img { height: 130px; margin: 0 60px 0 0; }
	
	.s20220821 .s_main .place2 { height: 0; background: #22345a; }
	
	.s20220821 .profile { clear: both; flex-direction: column-reverse; }
	.s20220821 .profile .profile_s { flex-direction: row; align-items: flex-start; border-bottom: 1px solid #22345a; overflow: hidden; }
	.s20220821 .profile .profile_s:first-child { border: none; }
	.s20220821 .profile .profile_s img { width: 150px; height: auto; }
	.s20220821 .profile .profile_s h4,.s20220821 .profile .profile_s p.p_sub { text-align: left; }
	.s20220821 .profile .profile_s .p_block { border-right: none; }
	.s20220821 .profile .profile_s p.p_main img { float: right; width: auto; height: 100px; }
	
	.s20220821 .s_main .place { display: none; }
	.s20220821 .s_benefit.pc2 { display: none !important; }
	.s20220821 .s_benefit.sp2 { display: block !important; position: relative; border-radius: 0; width: 100%; height: auto; top: 0; right: 0; left: 0; padding: 10px 20px; text-align: left; background: #8FC31F; }

	.s20220821 .s_benefit br { display: none; }
	.s20220821 .s_benefit h3 { overflow: hidden; }
	.s20220821 .s_benefit h3 .stxt { display: inline; }
	.s20220821 .s_benefit img { float: left; margin: 8px 20px 0 0; }
	.s20220821 .s_detail { background: #8FC31F; position: relative; padding: 0 0 10px 0; clear: both; }
	.s20220821 .s_detail table { margin: 20px 0 10px 0; }
	
	.s20220821 .s_benefit2 { width: 100px; height: 100px; left: auto; right: 20px; bottom: 50px; }
.s20220821 .s_benefit2 p { font-size: 20px; line-height: 25px; }
	
	.s20220821 .s_head p.ver3 { text-align: left; padding: 10px 10px 10px 10px; }
}

@media screen and ( max-width: 480px) {
	.s20220808 .s_main { padding: 50px 10px; }
	.s20220808 .recommend ul { padding: 0; }
	.s20220808 .program dd { padding: 0 0 20px 10px; }
	
	.s20220821 .s_main .approach h3,.s20220821 .s_main .place h3 { margin-left: 10px; }
	.s20220821 .s_main .approach p,.s20220821 .s_main .place p { margin-left: 20px; }
	.s20220821 .s_main .approach img,.s20220821 .s_main .place img { float: right; margin-right: 0; }
	
	.s20220821 .s_benefit2 { width: 90px; height: 90px; left: auto; right: -15px; bottom: 62px; }
	.s20220821 .s_benefit2 p { font-size: 18px; line-height: 23px; }
	/*.s20220821 .s_main .place2 { position: relative; width: 100%; height: 130px; background: #22345a; }*/
	
	.s20220821 .s_main .approach p { padding-right: 0; overflow: visible; }
	
	.s20220821 .s_main .capacity { display: block; position: relative; border-radius: 0; width: 100%; height: auto; top: 0; right: 0; padding: 20px 0; text-align: left; }
	.s20220821 .s_main .capacity h3 { padding: 5px 10px; border-width: 1px; margin: 0 10px; }
	.s20220821 .s_main .capacity p { display: inline-block; padding: 0; line-height: 30px; margin: 0; }
	.s20220821 .profile .profile_s { display: block; }
	.s20220821 .profile .profile_s img { float: left; width: 130px; margin: 0 10px 35px 0; }
	.s20220821 .profile .profile_s p.p_theme { display: block; padding-right: 10px; }
	.s20220821 .profile .profile_s p.p_main { clear: both; }
	.s20220821 .s_benefit { background: #8FC31F; }
	.s20220821 .s_benefit h3 { overflow: visible; text-align: center; }
	.s20220821 .s_benefit h3 .stxt { display: block; }
	.s20220821 .s_benefit p { text-align: center; }
	.s20220821 .s_detail table { font-size: 16px; line-height: 22px;  }
	
	.s20220821 .s_benefit2.catch { width: 130px; height: 130px; left: auto; right: 50%; bottom: 0px; }
	.s20220821 .s_main .approach.ver3 { padding-bottom: 120px; }
	.s20220821 .s_main .approach.ver3 img.textimg { height: 130px; margin: 0; float: none; position: absolute; bottom: 0px; right: auto; left: 60%; }
	.s20220821 .s_main .approach.ver3 img.img3 {margin-bottom: -20px; }
	.s20220821 .s_main .approach.ver3 p { clear: both; margin: 0; text-align: center; }
}

/**/
.s20240824 {}
.s20240824 h3 { font-size: 16px; line-height: 20px; font-weight: bold; display: inline-block; padding: 5px 20px; background: #00b9ef; color: #fff; margin: 0 0 20px 0; text-align: center; }
.s20240824 .s_head { margin-bottom: 40px; }
.s20240824 .s_head figcaption { text-indent: -9999px; height: 0; }
.s20240824 .theme { margin-bottom: 40px; }
.s20240824 .theme .box { display: flex; }
.s20240824 .theme .profile { width: 26%; margin: 0 10px 0 0; border: 1px solid #007130; }
.s20240824 .theme .profile h4 { font-size: 22px; line-height: 25px; font-weight: bold; background: #007130; color: #fff; text-align: center; padding: 5px 0; width: 100%; }
.s20240824 .theme .profile img {  }
.s20240824 .theme .profile .p_block { padding-bottom: 5px; }
.s20240824 .theme .profile p.p_name { text-align: center; font-size: 18px; line-height: 22px; font-weight: bold; margin: 5px 10px 0 10px; padding: 0 0 5px 0; border-bottom: 1px solid #007130; }
.s20240824 .theme .profile p.p_sub { font-size: 12px; line-height: 15px; margin-top: 10px; }
.s20240824 .theme .profile p.p_sub span { display: block; margin-bottom: 8px; text-align: center; }
.s20240824 .theme .andmore { display: flex; flex-direction: column; justify-content: center; width: 22%; height: 110px; background: #f39800; border-radius: 10px; position: relative; padding: 10px; }
.s20240824 .theme .andmore::after { content: ''; position: absolute; left: calc( 50% - 15px ); bottom: -30px; width: 30px; height: 30px; background: #f39800; clip-path: polygon(0 0%, 100% 0, 0 100%); }
.s20240824 .theme .andmore p { display: block; border-color: #fff; border-style: solid; border-width: 2px 0 2px 0; font-size: 18px; line-height: 22px; text-align: center; color: #fff; font-weight: bold; padding: 10px 0; }
.s20240824 .s_detail { display: flex; border-width: 1px 0; border-style: solid; border-color: #007130; padding: 20px 0 10px 0; }
.s20240824 .s_detail .box { width: 50%; }
.s20240824 .s_detail h3 { margin: 0 0 5px 0; width: 90px; }
.s20240824 .s_detail p { margin: -35px 10px 20px 100px;  /*margin: 0 10px 20px 10px; */}
.s20240824 .s_detail .sp { display: inline !important; margin: 0; }

.s20240824 .s_entry { text-align: center; }
.s20240824 .s_entry p.limit { display: inline-block; padding: 5px 10px; color: #FF0000; border: 1px solid #ff0000; margin-top: 20px; font-size: 18px; }

@media screen and (max-width: 768px) {
	.s20240824 .theme .box { flex-wrap: wrap; justify-content: center; }
	.s20240824 .theme .profile { display: flex; flex-wrap: wrap;  width: 100%; margin: 0 0 20px 0; }
	.s20240824 .theme .profile img { width: 40%; }
	.s20240824 .theme .profile  .p_block { width: 60%; padding: 0 5px; }
	.s20240824 .theme .profile p.p_name { margin: 10px 0 0 0; }
	.s20240824 .theme .andmore { width: 200px; margin-top: 20px; }
	.s20240824 .theme .andmore::after { bottom: auto; top: -30px;  clip-path: polygon(100% 0, 100% 100%, 0 100%); }
  .s20240824 .s_detail { display: block; margin-top: 40px; }
	.s20240824 .s_detail .box { width: 100%; }
	.s20240824 .s_detail p { margin: -32px 10px 20px 100px; }
}

/*******************************************
********** オーソモレキュラー栄養療法 *********
********************************************/

.method_menu ul li {
    width: 24%;
    background: #F8F3E2;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.method_menu ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 15px 5px;
    font-size: 1.1rem;
}

.method_menu ul li a span {
    font-size: 1.6rem;
    color: #00AC00;
}

.method_cont {
    background: #F8F3E2;
}

.method_list li {
    padding: 25px 3%;
    background: #fff;
}

.method_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 205px;
    height: 205px;
    margin-right: 4%;
    border-radius: 50%;
}

.method_ttl h3 {
    width: 140px;
    margin: 0 auto 5px;
    line-height: 28px;
    color: #fff;
}

.method_list li:first-child .method_ttl {
    color: #769A00;
    background: rgba(231, 250, 168, .5);
}

.method_list li:first-child .method_ttl h3 {
    background: #769A00;
}

.method_list li:nth-child(2) .method_ttl {
    color: #807600;
    background: rgba(255, 245, 123, .5);
}

.method_list li:nth-child(2) .method_ttl h3 {
    background: #807600;
}

.method_list li:last-child .method_ttl {
    color: #C35100;
    background: rgba(255, 231, 214, .5);
}

.method_list li:last-child .method_ttl h3 {
    background: #C35100;
}

.method_cont .sub_cmn_ttl {
    border-color: #fff;
}

.method_sub_wht {
    padding: 20px 3%;
    background: #fff;
}

figure.method_img {
    max-width: 500px;
    margin: 0 auto;
}

@media screen and (max-width: 480px) {
    .method_menu ul li {
        width: 49%;
        margin-bottom: 10px;
        border-radius: 10px;
    }
    .method_list li {
        justify-content: center !important;
    }
    .method_list li .flex-1 {
        flex: none;
        width: 100%;
        margin-top: 15px;
    }
}


/*******************************************
****** オーソモレキュラー医師ブログ・SNS ******
********************************************/

.blog_list {
    margin: -20px -1%;
}

.blog_list li {
    width: 31.33%;
    margin: 20px 1%;
    border: 1px solid #707070;
}

.blog_list li .blog_ttl {
    position: relative;
    margin-bottom: 30px;
    padding: 20px 5px;
    background: #FFB261;
}

.blog_list li .blog_ttl::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22px 15px 0 15px;
    border-color: #ffb361 transparent transparent transparent;
    transform: translateX(-50%);
}

.blog_list li .blog_link {
    padding: 0 10px 20px;
}

.blog_list li .blog_link a {
    display: block;
    max-width: none;
    margin-top: 8px;
}

.blog_list li .blog_link a i {
    margin-right: 15px;
}

@media screen and (max-width: 768px) {
    .blog_list li {
        width: 48%;
    }
}

@media screen and (max-width: 480px) {
    .blog_list li {
        width: 100%;
    }
}


/*******************************************
****** オーソモレキュラー栄養療法Web動画 ******
*******************************************/

.wbs_subttl {
    background: #F8F3E2;
}

.wbs_list .wbs_article {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.wbs_list .wbs_article .wbs_cont {
    flex: 1;
    padding-left: 3%;
}

.wbs_list .wbs_meta {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    text-align: right;
}

.webseminar_btn a {
    max-width: 520px;
}

@media screen and (max-width: 991px) {
    .wbs_list .wbs_article .wbs_video {
        width: 100%;
    }
    .wbs_list .wbs_article .wbs_cont {
        flex: none;
        width: 100%;
        margin-top: 20px;
        padding-left: 0;
    }
    .wbs_list .wbs_meta {
        position: relative;
        text-align: center;
        margin-top: 20px;
    }
}

@media screen and (max-width: 670px) {
    .jstream-eqPlayer {
        background-color: #fff;
        width: 100% !important;
    }
}


/******************************
********* お問い合わせ *********
*******************************/

.contact-cont dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 16px 0;
}

.contact-cont dl dt {
    width: 35%;
    max-width: 250px;
    position: relative;
    font-weight: bold;
}

.col-red {
    color: #FF0000;
}

.contact-cont dl dt .col-red {
    margin-left: 10px;
}

.contact-cont dl dd {
    flex: 1;
}

.contact-cont input,
.contact-cont select {
    padding: 0 10px;
    box-sizing: border-box;
}

.contact-cont input[type="text"],
.contact-cont input[type="tel"],
.contact-cont input[type="email"],
.contact-cont input[type="number"],
.contact-cont select {
    width: 100%;
    height: 55px;
    background: #F6F6F6;
    border: 1px solid #E5E5E5;
    font-family: 'Noto Sans JP', sans-serif;
}

.contact-cont select {
    background: #fff;
    border-color: #FFB261;
}

.contact-cont textarea {
    width: 100%;
    padding: 10px;
    background: #F6F6F6;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}

.contact-cont input[type="submit"] {
    display: block;
    width: 100%;
    max-width: 310px;
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 2.1rem;
    background: #6F7070;
    border: 1px solid #6F7070;
    color: #fff;
    height: 72px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.contact-cont input[type="submit"]:hover {
    background: #fff;
    color: #6F7070;
}

.contact-cont a {
    color: #0027FF;
    text-decoration: underline;
}

@media screen and (max-width: 600px) {
    .contact-cont dl dt {
        width: 100%;
        max-width: none;
        margin-bottom: 10px;
    }
    .contact-cont dl dd {
        flex: none;
        width: 100%;
    }
}


/******************************
********* 講演会案内 *********
*******************************/

.seminar_single::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 320px;
    background: #F8F3E2;
    z-index: -1;
}

.seminar_head figure {
    width: 70%;
    margin-right: -15%;
}

.seminar_head .seminar_ttl {
    position: relative;
    width: 45%;
    margin-top: 10%;
    padding: 40px 10px;
    background: #fff;
}

.seminar_head .seminar_ttl h2 {
    color: #007132;
}

.smtbl_summary_ttl {
    padding: 15px;
    font-weight: bold;
    color: #6F7070;
    background: #F5F5F5;
}

.seminar_description dt {
    margin-bottom: 15px;
    color: #914A00;
    font-weight: bold;
    border-bottom: 4px solid #F2DCC5;
}

.seminar_description dd {
    margin-bottom: 30px;
}

.smtbl_summary {
    display: block;
    border-bottom: 1px solid #CBCBCB;
}

.smtbl_summary tbody {
    display: block;
}

.smtbl_summary tr {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 0;
    border-top: 1px solid #CBCBCB;
}

.smtbl_summary tr th {
    display: block;
    width: 30%;
    max-width: 190px;
    text-align: left;
    font-weight: bold;
}

.smtbl_summary tr td {
    display: block;
    flex: 1;
}

.smtbl_summary a {
    color: #0A00FF;
    text-decoration: underline;
}

.smtbl_summary span.dot { /*margin-left: 10px;*/ margin-right: 5px; }
.onp .smtbl_summary span.dot { color: #8fc31f; }
.one .smtbl_summary span.dot { color: #5dc2d0; }
.ons .smtbl_summary span.dot { color: #f29c97; }

.smtbl_timetable,
.smtbl_timetable tbody {
    display: block;
}

.smtbl_timetable tr {
    display: flex;
    flex-wrap: wrap;
}

.smtbl_timetable tr th {
    position: relative;
    display: block;
    width: 30%;
    max-width: 250px;
    margin-bottom: 40px;
    padding: 30px 5px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #FFB261;
    border: 2px solid #FFB261;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.smtbl_timetable tr th::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22px 15px 0 15px;
    border-color: #ffb361 transparent transparent transparent;
    transform: translateX(-50%);
}

.smtbl_timetable tr td {
    display: block;
    flex: 1;
    margin-bottom: 40px;
    padding: 30px;
    border: 2px solid #FFB261;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media screen and (max-width: 768px) {
    .seminar_head figure {
        width: 100%;
        margin-right: 0;
    }
    .seminar_head .seminar_ttl {
        width: 100%;
        margin: 0;
    }
}

@media screen and (max-width: 480px) {
    .smtbl_summary tr th {
        width: 100%;
        margin-bottom: 10px;
    }
    .smtbl_summary tr td {
        flex: none;
        width: 100%;
    }
    .smtbl_timetable tr th {
        width: 100%;
        max-width: none;
        padding: 20px 5px;
        border-radius: 10px;
    }
    .smtbl_timetable tr td {
        flex: none;
        width: 100%;
        padding: 20px 10px;
        border-radius: 10px;
    }
}


/********************************
********** 栄養素の説明 **********
*********************************/

.nutrition_list {
    padding-left: 40px;
}

.nutrition_list li {
    padding: 10px 0;
    list-style: disc;
    border-bottom: 1px dashed #ccc;
}

.nutrition_list li a:hover {
    color: #FC9528;
}


/*************************************
********** 治療の実際と改善例 **********
**************************************/

.treat-template-default .inner {
    max-width: 750px;
}

.treat-template-default table {
    min-width: 550px;
    font-size: 12px;
    margin: 10px 0px;
}

.treat-template-default th {
    background: #e8e6e6;
    padding: 10px;
    border: 2px solid white;
}

.treat-template-default h4 {
    font-size: 16px;
    font-weight: bold;
    margin-top: 30px;
}

.col-orange {
    color: #FC9528!important;
}

.treat_list { display: flex; flex-wrap: wrap; font-weight: bold; text-align: center; justify-content: space-between;
}

.treat_list_item {
    width: 49%;
    padding: 15px 3%;
    background: #FFF0E3; margin-top: 10px;
}

.treat_sub_list {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 2px solid #fff; display: flex; flex-wrap: wrap; font-weight: bold;
}

.treat_sub_list li {
    margin: 5px 20px 0 0 !important;
    padding-left: 0 !important;
    color: #001DFF;
}

.treat_sub_list li::before {
    display: none;
}

.treat_sub_list a {
    text-decoration: underline;
}

@media screen and (max-width: 480px) {
    .treat_list_item {
        width: 100%;
    }
}


/*****************************************
********** 医療機関クリニック検索 **********
******************************************/

.search_area {
    width: 67.5%;
}

.s_map {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #DDDDDD;
}

.s_map_cont {
    max-width: 634px;
    margin: 0 auto;
}

.s_map_cont span {
    position: absolute;
    transform: translate(-50%, -50%);
}

.s_map_cont span#ca_hokkaido {
    top: 16.5%;
    left: 90.65%;
}

.s_map_cont span#ca_tohoku {
    left: 89.25%;
    top: 42%;
}

.s_map_cont span#ca_chubu {
    left: 73.25%;
    top: 68.6%;
}

.s_map_cont span#ca_kanto {
    left: 89%;
    top: 68.6%;
}

.s_map_cont span#ca_kinki {
    left: 60.5%;
    top: 73.5%;
}

.s_map_cont span#ca_chugoku {
    left: 41%;
    top: 63.75%;
}

.s_map_cont span#ca_shikoku {
    left: 41%;
    top: 82.75%;
}

.s_map_cont span#ca_kyusyu {
    left: 20.75%;
    top: 78.75%;
}

.search_all a#btn_all,
#btn_clear {
    display: block;
    width: 235px;
    text-align: center;
    margin: 0 15px 15px 0;
    padding: 10px;
    font-size: 1.5rem;
    font-weight: bold;
    color: #FFBA57;
    border: 2px solid #FFBA57;
}

#btn_clear {
    width: 125px;
    margin: 0 0 20px 12px;
}

#btn_search {
    display: block;
    width: 125px;
    text-align: center;
    margin: 0 0 20px 0;
    padding: 10px;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    background: #FFBA57;
    border: 2px solid #FFBA57;
}

.search_list {
    width: 30.5%;
}

.search_list #s_list {
    width: 100%;
    height: 457px;
    margin-bottom: 20px;
    padding: 20px;
    font-size: 1.8rem;
    border: 1px solid #ddd;
}

.clinic_annotation {
    padding: 20px 3.5%;
    background: #FFFABE;
}

.clinic_list h2 {
    border-bottom: 3px solid #FFB261;
}

.c_area_ttl {
    margin-top: 30px;
}

.c_area_ttl p {
    width: 100px;
    margin-right: 10px;
    line-height: 32px;
    background: #A0A0A0;
    border-radius: 3px;
}

.c_area_ttl h3 {
    color: #A0A0A0;
}

.c_region h4 {
    margin: 20px 0;
    padding: 14px 0;
    color: #91BD30;
    border-top: 1px solid #91BD30;
    border-bottom: 1px solid #91BD30;
}

.c_region ul li {
    margin-top: 20px;
    border: 1px solid #B4B4B4;
}

.c_clinic_ttl {
    padding: 10px 3.5%;
    color: #74A505;
    background: #EEF7DC;
}

.c_clinic {
    padding: 30px 3.5%;
}

.c_adress {
    width: 40%;
}

.c_right {
    width: 56%;
}

.c_right dl {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}

.c_right dl dt {
    margin-right: 20px;
    padding: 2px 14px;
    font-weight: bold;
    background: #EDEDED;
    border-radius: 3px;
}

.c_right dl dd {
    flex: 1;
    padding-top: 2px;
}

.c_link a {
    display: inline-block;
    /*width: 100%;
    max-width: 220px;*/
    text-align: center;
    padding: 8px;
    font-weight: bold;
    color: #fff;
    background: #FFBA57;
}

.c_link a i {
    margin-right: 10px;
}

.c_onp,
.c_one {
    padding: 0 15px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #7EC600;
    border: 2px solid;
}

.c_one {
    color: #5cc2cf;
}

@media screen and (max-width: 600px) {
    .search_area,
    .search_list,
    .c_adress {
        width: 100%;
    }
    .c_right {
        width: 100%;
        margin-top: 15px;
    }
    .search_list #s_list {
        height: 70px;
    }
}


/***********************************
********** 栄養療法関連書籍 **********
************************************/

.book_list li {
    /* width: 48.5%; */
    /*width: 24%;*/
	width: 32%;
    padding: 30px 20px 110px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
}

.book_list li figure {
    text-align: center;
}

.book_list li figure img {
    height: 180px;
}

.book_btn {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 30px;
}

.book_btn .cmn_btn {
    max-width: none;
}

.book_thumb {
    width: 30%;
}

.book_single_cont {
    width: 65%;
}

.book_link a {
    display: block;
    padding: 10px;
    background: linear-gradient(to right, #FF9B7D, #FFD021);
}

.book_link a i {
    margin-right: 10px;
}

@media screen and (max-width: 480px) {
    .book_list li {
        width: 100%;
    }
}


/****************************
********** 養成講座 **********
*****************************/

.bg-blue {
    background: #2EC8D3;
}

.bg-darkblue {
    background: #00919B;
}

.bg-lightblue {
    background: #D4F1F4;
}

.bg-green {
    background: #7DC600;
}

.bg-darkgreen {
    background: #5B9000;
}

.bg-lightgreen {
    background: #E7F5CE;
}

.bg-pink {
    background: #FF9694;
}

.bg-darkpink {
    background: #E57D7B;
}

.col-blue {
    color: #2EC8D3;
}

.col-green {
    color: #7DC600;
}

.col-pink {
    color: #FF9694;
}

.col-mblue {
    color: #5dc2d0;
}

.col-mgreen {
    color: #8fc31f;
}

.one_mv {
    padding: 70px 0 70px;
    background: url(../images/sub/one_bg.jpg) no-repeat center / cover;
}

.onp_mv {
    background: url(../images/sub/onp_bg.jpg) no-repeat center / cover;
}

.ons_mv {
	padding: 70px 0 70px;
    background: url(../images/sub/ons_bg.jpg) no-repeat center / cover;
}

.one_mv_cont {
    width: 75%;
}

.one_mv span.col-white,.ons_mv span.col-white {
    margin-right: 20px;
    padding: 0 20px;
    border-radius: 5px;
}

.one_mv_cont h1 span.ttlon {
    font-size: 85%; display: block;
}

/*.one_mv h1 span {
    font-size: 150%;
}*/

.one_banner {
    position: absolute;
    right: 0; top: -20px;
    /*bottom: 0;*/
    width: 25%;
    text-align: right;
}

.one_banner .hd_btn { display: block; text-align: center; font-weight: bold; color: #fff; width: 100%; font-size: 16px; line-height: 25px; margin-top: 20px; }
.one_banner .hd_btn a,.one_banner .hd_btn span.end { position: relative; display: block; padding: 5px 0; box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .5); }
.one_banner .hd_btn span.end { background: #ccc; }
.one_banner .hd_btn a { background: #7EBDC1; }
.onp_mv .one_banner .hd_btn a { background: #A4C766; }

.one_banner .hd_btn a::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	border-color: transparent transparent transparent #fff;
	transform: translateY(-50%);
}

.one_banner p { font-size: 12px; line-height: 15px; text-align: center; margin-top: 10px; }

.one_mv_txt {
    padding: 20px 0;
}

.one_sec h3 {
    padding: 10px;
    border-radius: 100px;
}

.one_info figure {
    width: 30%;
    max-width: 245px;
    margin-right: 4%;
}

.one_btn a,.one_btn span.end {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 520px;
    text-align: center;
    padding: 20px 85px 20px 10px;
    background: #7EBDC1;
}

.one_btn span.end { background: #ccc; padding: 20px 10px; }

.one_btn a::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 75px;
    height: 100%;
    background: #B9DCDE;
}

.one_btn a::after {
    content: '';
    position: absolute;
    right: 37px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 16px;
    border-color: transparent transparent transparent #00919b;
    transform: translate(50%, -50%);
}

.onp_btn a {
    background: #A4C766;
}

.onp_btn a::before {
    background: #C2DB96;
}

.onp_btn a::after {
    border-color: transparent transparent transparent #5B9000;
}

.ons_btn a {
    background: #DEABAA;
}

.ons_btn a::before {
    background: #F2CFCE;
}

.ons_btn a::after {
    border-color: transparent transparent transparent #E57D7B;
}

.one_year {
    margin-top: 35px;
    padding: 15px 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.one_schedule_header { margin-top: 30px; border-top-width: 5px; border-style: solid; }
.onp .one_schedule_header { border-color: #5B9000; background: #5B9000; }
.one .one_schedule_header { border-color: #00919b; background: #00919b; }
.one_schedule_header p { padding: 5px 20px; font-weight: bold; color: #fff; }
.one_schedule_header p.date { background: #fff; }
.onp .one_schedule_header p.date { color: #5B9000; }
.one .one_schedule_header p.date { color: #00919b; }
.one_schedule_header p .stxt { font-size: 0.7em; margin: 0 5px; }

.one_schedule_item table {
    width: 100%;
    text-align: center;
    border: 1px solid #B4B4B4;
}

.one_schedule_item table tr td {
    /*width: 130px;*/
    padding: 15px 5px;
    vertical-align: middle;
    border: 1px solid #B4B4B4;
}

.one_schedule_item table tr th {
    width: 70px;
    padding: 15px 0px;
    vertical-align: middle;
    border: 1px solid #B4B4B4;
}

/*.one_schedule_item table tr td:first-of-type {
    width: calc(100% - 390px);
    padding: 15px 10px;
}
.one_schedule_item table thead tr th,.one_schedule_item table thead tr td {
    background: #F1F1F1;
}*/
.ons .one_schedule_item table thead tr { border-width: 0 1px; border-color: #f29c97; }

.one_schedule_item table thead tr th,.one_schedule_item table thead tr td { border-color: #fff; color: #fff; }
.onp .one_schedule_item table thead tr th,.onp .one_schedule_item table thead tr td {
    background: #8fc31f;
}
.one .one_schedule_item table thead tr th,.one .one_schedule_item table thead tr td {
    background: #5dc2d0;
}
.ons .one_schedule_item table thead tr th,.ons .one_schedule_item table thead tr td {
    background: #f29c97; border-top-color: #f29c97;
}


.one_schedule_item table tbody tr td.cont,.one_schedule_item table tbody tr td.cont2 { text-align: left; font-weight: bold; }
.one_schedule_item table tr td.type { width: 100px; line-height: 1.4rem; padding: 0 5px; }
.one_schedule_item table tr td.theme { width: 100px; }
.one_schedule_item table tr td.instructor { width: 120px; }

.one_schedule_item table tr td span.f-12 {
    display: inline-block; background: #fff;
    padding: 5px 3px; min-width: 70px;
    border: 1px solid; border-radius: 5px;
}
.one_schedule_item table tr td span.mtxt { font-size: 0.85em; font-weight: normal; }

.onp .one_schedule_item table tbody tr:nth-child(even) th,.onp .one_schedule_item table tbody tr:nth-child(even) td {
    background: #e9f3d2;
}
.one .one_schedule_item table tbody tr:nth-child(even) th,.one .one_schedule_item table tbody tr:nth-child(even) td {
    background: #dff3f6;
}
.ons .one_schedule_item table tbody tr:nth-child(even) th,.ons .one_schedule_item table tbody tr:nth-child(even) td {
    background: #fcebea;
}

.ons_info figure {
    width: 47%;
    margin-left: 3%;
}

.ons_info .bg-grey {
    padding: 8px;
    background: #F1F1F1;
}

.ons_price {
    padding-bottom: 10px;
    border-bottom: 1px solid #B4B4B4;
}

figure.onp_img,
figure.one_img {
    margin: auto;
    max-width: 600px;
}

ul.zyuko_list {
    margin: 2em 1em;
}

ul.zyuko_list li:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 1em;
    height: 1em;
    background: #5B9000;
    border-radius: 50%;
    margin-right: 7px;
}

ul.zyuko_list li {
    width: 33%;
}

.ons .topattention { display: block; margin: -30px 0 30px 0; text-align: center; font-size: 18px; }
.ons .topattention .ttl { display: inline-block; padding: 0 20px; border-bottom: 1px solid #333; font-size: 28px; font-weight: bold; margin-bottom: 20px; }
.ons .topattention .attention { display: inline-block; color: #f00; font-weight: bold; border: 1px solid #f00; margin: 20px auto; padding: 0 10px; }

@media screen and (min-width: 769px) {
	.one_sec .pc { display: inline !important; }
}

@media screen and (max-width: 768px) {
    /*.one_schedule_item table tr td {
        width: 100px;
    }
    .one_schedule_item table tr th {
        width: 70px;
    }
    .one_schedule_item table tr td:first-of-type {
        width: calc(100% - 300px);
        padding: 15px 10px;
    }*/
    ul.zyuko_list li {
        width: 50%;
    }
}

@media screen and (max-width: 480px) {
	.one_mv,.ons_mv { padding: 50px 0 0 0; }
	.one_mv_cont,.ons_mv_cont { width: 100%; }
	.one_mv span.col-white { margin-right: 10px; padding: 0 10px; }
	.one_mv_cont h1 span.ttlon { font-size: 65%; }
	.one_banner { position: relative; width: 100%; margin-left: auto; padding-bottom: 40px; top: 0; }
	.one_banner img { max-width: 200px; }
	.one_info figure { width: 100%; margin: 0 auto 20px; }
	.one_info .flex-1,.ons_info .flex-1 { flex: none; width: 100%; }
	.ons_info figure { width: 100%; margin: 20px auto 0; }
	.one_btn a { padding: 15px 40px 15px 0px; }
	.one_btn a::before { width: 40px; }
	.one_btn a::after { right: 20px; }

	.one_schedule_header { display: block !important; border-top: none; margin-top: 40px; }
	.one_schedule_header p { padding: 0px 5px; font-size: 1.4rem !important; text-align: center; }
	.one_schedule_header p.date { border-width: 0 1px; border-style: solid; font-size: 1.6rem !important; }
	
	.one_schedule_item table { border-width: 0 0 1px 0; font-size: 12px; }
	.one_schedule_item table tr { display: flex; flex-wrap: wrap; width: 100%; border-style: solid; border-width: 0 1px; }
	.onp .one_schedule_item table tr { border-color: #5B9000; }
	.one .one_schedule_item table tr { border-color: #00919b; }
	.ons .one_schedule_item table tr { border-color: #B4B4B4; }
	.ons .one_schedule_item table thead tr { border-top: none; }
	.one_schedule_item table tr th,.one_schedule_item table tr td { padding: 5px; border-width: 1px 1px 0 0; }
	.one_schedule_item table tr td:last-child { border-right-width: 0; }
	.one_schedule_item table tr th,.one_schedule_item table tr td.type { width: 70px; padding: 5px 0; }
	.one_schedule_item table tbody tr th,.one_schedule_item table tbody tr td.cont,.one_schedule_item table tbody tr td.cont2 { font-size: 15px; font-weight: bold; }
	.one_schedule_item table tr td.cont { width: calc(100% - 70px); border-right-width: 0; }
	.one_schedule_item table tr td.cont2 { width: calc(100% - 70px); }
	.one_schedule_item table tr td.theme { width: calc(100% - 140px); }
	.one_schedule_item table tr td.instructor { width: 30%; }
	
	.one_schedule_item table tr td span.f-12 {
    display: inline-block;
    padding: 2px; margin: 0 2px; font-size: 12px !important;
    border: 1px solid; }
	
	.ons .one_schedule_item table thead tr th,.ons .one_schedule_item table tr th { width: 50px; }
	.one_schedule_item table tr td.instructor { width: 70px; padding:
	5px 0; }
	.ons .one_schedule_item table tr td.cont { width: calc(100% - 120px); border-right-width: 1px; }
    /*.one_schedule_item table thead {
        display: none;
    }
    .one_schedule_item table tr th {
        display: block;
        width: 100% !important;
        background: #F1F1F1;
        border: none;
        border-bottom: 1px solid #B4B4B4;
    }
    .one_schedule_item table tr td {
        position: relative;
        display: block;
        width: 100% !important;
        padding: 15px 10px 15px 100px !important;
        border: none;
        border-bottom: 1px solid #B4B4B4;
    }
    .one_schedule_item table tr td::before {
        content: attr(data);
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 90px;
        background: #F1F1F1 !important;
    }*/
	.ons .topattention { font-size: 16px; }
.ons .topattention .ttl { padding: 0 10px; font-size: 24px; }
}


/**********************************
********** 本サイトについて *********
***********************************/

.owner_info figure {
    width: 30%;
    max-width: 365px;
    margin-right: 3%;
}

.about_cont ul {
    padding-left: 20px;
    list-style: disc;
}

.about_blog .w_50 {
    width: 49%;
    max-width: 505px;
}

a.about_clinic_link {
    color: #0A00FF;
}


.director { border: 2px solid #8FC31F; padding: 30px; margin-bottom: 50px; position: relative; }
.director hr { border: none; border-top: 1px dashed #999; }
.director a { text-decoration: underline; }
.director ul { margin: 0 20px; }
.director h3.title { font-size: 24px; font-weight: bold; display: inline-block; background: #8FC31F; color: #fff; padding: 0 20px; margin: -30px 0 20px -30px; }

.director h4 { font-size: 20px; padding: 0 10px; color: #8FC31F; border: 2px solid #8FC31F; border-radius: 50px; display: inline-block; margin: 0 0 10px 0; }


@media screen and (max-width: 480px) {
    .owner_info figure {
        width: 100%;
        margin: 0 0 15px;
    }
    .owner_info .flex-1 {
        flex: none;
        width: 100%;
    }
    .about_blog .w_50 {
        width: 100%;
        margin-bottom: 20px;
    }
	.director { padding: 20px; }
}



/******************************
********** 代表理事挨拶 ********
*******************************/

.message_sub {
    background: url(../images/sub/message_bg.jpg) no-repeat center / cover;
}

.message_sub_cont {
    padding: 40px 4%;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    border-radius: 10px;
}


/******************************
********** POST Single **********
*******************************/

.m-pagenation ul {
    margin-top: 3em;
    display: flex;
    justify-content: center;
}

.m-pagenation ul li span,
.m-pagenation ul li a {
    display: block;
    width: 35px;
    margin: 5px 10px;
    line-height: 35px;
    text-align: center;
    background: #EFEFEF;
}

.m-pagenation ul li span.current {
    background: #6E8E89;
    color: #fff;
}

.m-pagenation ul li a.next,
.m-pagenation ul li a.prev {
    width: auto;
    border: none;
    background: none;
}

.single_cont h2 {
    position: relative;
    margin: 60px 0 25px;
    padding-bottom: 5px;
    font-size: 2.4rem;
    font-weight: bold;
    border-bottom: 3px solid #F1F1F1;
}

.single_cont h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 150px;
    height: 3px;
    background: linear-gradient(to right, #7CD2F6, #A48FD8);
}

.single_cont h3 {
	display: inline-block;
	margin: 30px 20px 5px 20px; padding: 0 10px;
	font-size: 1.8rem; font-weight: bold;
	color: #8FC31F;
	border-left: 5px solid #8FC31F;
}

.single_cont h4,.single_cont ul,.single_cont dl,.single_cont dd,.single_cont p { margin-left: 20px; margin-right: 20px; }

.single_cont dt { margin: 10px 0 0 0; font-weight: bold; }

.single_cont .stxt { font-size: 70%; }
.single_cont a { text-decoration: underline; color: #004098;}

.single_cont table { line-height: 1.2em; margin: 10px auto; border: 2px solid #008A78; }
.single_cont caption { font-size: 1em; font-weight: bold; padding: 0 0 5px 0; color: #008A78; }
.single_cont tr { }
.single_cont th,.single_cont td { border: 1px solid #008A78; vertical-align: middle; padding: 5px; }
.single_cont th { background: #e7f1cf; }
.single_cont td { }
.single_cont table.tcenter { text-align: center; }
.single_cont .cbox { display: block; width: 1.2em; }
.single_cont th.bl_b { border-left-width: 2px; }


.single_cont .head_p {
    margin-bottom: 4em;
    padding: 25px 3%;
    background: #F8F3E2;
}
.single_cont .head_p .fig_7con { margin: 30px auto 0 auto; max-width: 600px; width: 100%; }
.single_cont .head_p .fig_7con img { width: 100%; }
.single_cont .head_p .fig_7con p.stxt { margin: 5px 0 0 0; font-size: 11px; }

.single_cont p+p,.info_article p+p {
    margin-top: 1em;
}

.single_cont .w_50 {
    width: 48%;
}

.single_cont img { display: block;/*margin: 20px auto;*/}
.single_cont img.img_l1 { float: left; margin: 0 20px 20px 0; }
.single_cont img.img_r1 { float: right; margin: 0 0 20px 20px; }
.single_cont .div_hr { border-top: 2px solid #ccc; border-bottom: 2px solid #ccc; margin: 60px 0 20px 0; padding: 20px 0; }
.single_cont .m_foot { clear: both; }

.single_cont .quote {
    margin-top: 2em;
    padding: 1.5em 0;
    font-size: 2.2rem;
    font-weight: bold;
    border-top: 1px solid #707070;
}

.single_cont .quote a {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-top: 14px;
    padding: 15px 3%;
    font-size: 1.8rem;
    font-weight: 400;
    background: #F1F1F1;
}

.single_cont .quote a::after {
    content: '\f0da';
    position: absolute;
    top: 50%;
    right: 15px;
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    transform: translateY(-50%);
}

.single_cont ul li {
    position: relative;
    padding-left: 25px;
    margin: 10px 0;
}

.single_cont ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #FFB261;
}

.navi_btn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 48%;
    height: 85px;
    max-width: 380px;
    margin: 10px 1%;
    color: #fff;
    background: linear-gradient(to right, #7CD2F6, #A48FD8);
}

.navi_btn a::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #fff;
    transform: translateY(-50%);
}


@media screen and (max-width: 768px) {
    .single_cont h2 {
        font-size: 2rem;
    }
    .single_cont .quote {
        font-size: 1.8rem;
    }
    .single_cont .quote a {
        padding: 15px 20px 15px 15px;
        font-size: 1.5rem;
    }
    .single_cont .quote a::after {
        right: 10px;
    }
}

@media screen and (max-width: 600px) {
    .navi_btn a {
        width: 98%;
    }
    .single_cont .w_50 {
        width: 100%;
    }
}

/******************************
********** ONX ********
*******************************/
.onx_mv {
    margin-top: 0px;
    background: url(../images/sub/one_bg.jpg) no-repeat center / cover;
	display: block; height: 200px; position: relative;
}

.mv_inner { width: 100%; max-width: 1200px; margin: 0 auto; /*padding: 0 15px;*/ }
.mv_inner h1 { font-size: 40px; line-height: 70px; display: inline-block; padding: 0 30px; font-weight: bold; min-width: 300px; text-align: center;}

.onx_mv .mv_inner h1 { background: #8FC31F; color: #fff;  }

.onx_main {}
.onx_main .chart_btn { text-decoration: underline; }

.onx_main #chart { padding: 40px 0 100px 0; border-top: 1px solid #ccc; }
.onx_main #chart h3 { text-align: center; font-weight: bold; font-size: 30px; line-height: 60px; margin-bottom: 30px; border-bottom: 3px solid #8FC31F; }
.onx_main #chart h4 { font-size: 21px; line-height: 30px;  font-weight: bold;margin-bottom: 5px; }

.onx_main #chart table { width: 100%; margin-bottom: 5px; }
.onx_main #chart th,.onx_main #chart td { text-align: center; padding: 0 5px; vertical-align: middle; }
.onx_main #chart th { background: #ddd; color: #fff; font-weight: bold; border: 1px solid #444; }
.onx_main #chart .title th { color: #000; padding: 5px 10px; }
.onx_main #chart .ons th { background: #E57D7B; }
.onx_main #chart .one th { background: #2EC8D3; }
.onx_main #chart .onp th { background: #8FC31F; }
.onx_main #chart .ond th { background: #004098; }
.onx_main #chart .basic th { background: #008CCF; }
.onx_main #chart .advance th { background: #9070AF; }

.onx_main #chart th a { display: block; height: 55px; display: flex; justify-content: center; align-items: center; transition: none; position: relative; }
.onx_main #chart th a::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	border-color: transparent transparent transparent #fff;
	transform: translateY(-50%);
}
.onx_main #chart th a::hover { text-decoration: underline; }
.onx_main #chart td { width: 25%; height: 55px; border: 1px solid #444; }
.onx_main #chart p {}
.onx_main #chart .box { border: 1px solid #444; padding: 20px; margin-top: 30px; }
.onx_main #chart .box p {}

@media screen and (max-width: 600px) {
    .navi_btn a {
        width: 98%;
    }
    .single_cont .w_50 {
        width: 100%;
    }
	.mv_inner h1 { font-size: 30px; }
}

/*FAQ・Voices*/
/*.onp-one-voices .sub_mv,.onp-one-faq .sub_mv { background: url(../images/sub/one_bg.jpg) no-repeat center / cover; }

.voice_main,.faq_main,.exp_main  { padding-bottom: 80px; }
.voice_main h2,.faq_main h2,.exp_main h2 { font-size: 24px; line-height: 30px; margin: 80px 0 0 0; padding: 5px 10px; border-left: 5px solid #5B9000;}

.voice_main p.top_p { margin: 50px 0 -20px 0; text-align: center; padding: 10px; background: #e9f3d2; }
.voice_main dl { margin: 20px 0 0 0; font-size: 16px; }
.voice_main dt,.voice_main dd { border-style: solid; border-color: #ccc; }
.voice_main dt { border-width: 1px 1px 0 1px; border-radius: 10px 10px 0 0; padding: 10px 10px 5px 30px; border-bottom: 1px solid #8FC31F; color: #5B9000; position: relative; line-height: 20px; }
.voice_main dt::before { content: ""; display: inline-block; width: 12px; height: 12px; background: #8FC31F; position: absolute; top: 15px; left: 10px; }
.voice_main dd { border-width: 0 1px 1px 1px; border-radius: 0 0 10px 10px; margin-bottom: 30px; padding: 10px 15px; }

.faq_main details { margin: 20px 0; background: #f6faed; border: 1px solid #eee; border-radius: 10px; }
.faq_main summary { display: block; position: relative; cursor: pointer; padding: 10px 50px 10px 50px; font-size: 16px; font-weight: bold; }
.faq_main details summary::after { content: ""; position: absolute; top: 0; right: 20px; bottom: 0; display: block; width: 20px; height: 12px; margin: auto; background: #5B9000; clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0); transition: transform 0.3s; }
.faq_main details[open] summary::after {
  transform: rotate(180deg);
}
.faq_main summary::-webkit-details-marker { display: none; }
.faq_main details[open] summary { }
.faq_main details p { font-size: 14px; margin: 0 10px; padding: 10px 10px 20px 50px; border-top: 1px dashed #8FC31F; word-wrap: break-word; }
.faq_main summary .number,.faq_main details p .answer { font-size: 22px; font-weight: normal; display: inline-block; width: 50px; padding-right: 10px; text-align: right; margin-left: -50px; }
.faq_main summary .number { color: #5B9000; }
.faq_main details p .answer { color: #8FC31F; }*/



/******************************
********** clinic ********
*******************************/
.single-clinic .sub_mv h1 span { font-size: 20px; display: block; }

.clinic_info dl {
    display: flex;
    flex-wrap: wrap;
}

.clinic_info dl dt {
    width: 160px;
    margin-right: 15px;
    margin-bottom: 10px;
    padding: 5px 15px 5px 0;
    font-weight: bold;
    background: #EEF7DC;
}

.clinic_info dl dd {
    width: calc(100% - 180px);
    padding: 5px 0;
    margin-bottom: 10px;
}

.clinic_info dl dd.map {
    position: relative;
  height: 0;
  padding-top: 75%;
}

.clinic_info dl dd.map iframe {
    position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


@media screen and (max-width: 480px) {
    .clinic_info dl dt,
    .clinic_info dl dd {
        width: 100%; margin-right: 0;
    }
}


/**********************************
********* ドクターセミナー *********
**********************************/

.doctor_mv {
    padding: 70px 0 70px;
    text-align: center;
    background: url(../images/sub/doctor_mv.jpg) no-repeat center / cover;
}

.doctor_mv_ttl {
    display: inline-block;
    width: 100%;
    max-width: 715px;
    margin-bottom: 40px;
    padding: 20px 10px;
    background: #82C1EA;
    line-height: 1.2;
}

.doctor_mv_ttl p {
    /*font-family: 'Futura';*/
}

.doctor_mv_ttl h1 {
    font-size: 4.5rem;
}

.doctor_main {
    padding: 0 10px;
    background: #82C1EA;
}

.doctor_main .container {
    /*max-width: 1300px;*/
    padding: 0;
    background: #fff;
}
.doctor_main .newicon { font-size: 24px; line-height: 25px; font-weight: bold; text-align: center; position: absolute; top: -4px; left: 15px; width: 90px; height: 65px; padding: 13px 0 0 0; z-index: 100; background: #f00; color: #fff; }
.doctor_main .newicon:after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 100%;
  border-style: solid;
  border-color: transparent transparent #f19db5 transparent;
  border-width: 0 45px 10px 45px; }

.doctor_top { background: #FBF4E6;}
.doctor_top .seminar_link { display: flex; flex-wrap: wrap; padding: 30px 0 10px 0; }
.doctor_top .seminar_link p { line-height: 40px; }
.doctor_top .seminar_link p span { font-size: 18px; line-height: 20px; }
.doctor_top .seminar_link p.f-18 { line-height: 20px; }
.doctor_top .seminar_link a {
    position: relative;
    display: block;
    width: calc((100% - 20px * 2) / 2);
    padding: 10px 5px 35px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    border: 5px solid;
    border-radius: 10px;
	margin: 0 10px 20px 10px; background: #fff; font-weight: bold; font-size: 2.5rem;
}

.doctor_top .seminar_link a::after {
    content: '';
    position: absolute;
    left: calc(50% - 12px);
    bottom: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 12px 0 12px;
}

.doctor_top .seminar_link a.col-sky::after {
    border-color: #008CCF transparent transparent transparent;
}

.doctor_top .seminar_link a.col-purple::after {
    border-color: #9070AF transparent transparent transparent;
}
.doctor_top .seminar_link a.col-dental::after {
    border-color: #f19db5 transparent transparent transparent;
}
.doctor_top .seminar_link a.col-darkblue::after {
    border-color: #004098 transparent transparent transparent;
}

.col-sky {
    color: #008CCF !important;
}

.col-purple {
    color: #9070AF !important;
}

.col-dental {
    color: #f19db5;
}
.col-darkblue {
    color: #004098 !important;
}

.doctor_top h2 {
    position: relative;
    display: inline-block;
    padding: 0 100px;
    line-height: 1.35;
}

.doctor_top h2::before,
.doctor_top h2::after {

    position: absolute;
    bottom: 0;
    width: 3px;
    height: 85%;
    background: #000;
}

.doctor_top h2::before {
    left: 40px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.doctor_top h2::after {
    right: 40px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.doctor_top h2 span {
    font-size: 150%;
}

.doctor_about {
    background: #FBF4E6;
}

.doctor_about .col2 {
    width: 100%;
}

.doctor_about .col2 .w_50 {
    width: 48.485%;
}
.doctor_about .col2 .w_100 {
    width: 98% !important;
}

.doctor_about_ttl {
    padding: 10px;
    background: #fff;
}
.col2 .doctor_about_ttl { margin: 0 10px; }

.doctor_about dl { margin-top: 10px; }
.doctor_about dl dt {
    padding: 10px 0 0 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
	height: 100px;
}
.doctor_about dl dt a { display: block; height: 100px; padding: 0; }
.doctor_about dl dt span { font-size: 14px; line-height: 20px; /*height: 40px; */display: block; }
.doctor_about dl.sky dt span,.doctor_about dl.purple dt span {
   /* padding-top: 10px;*/
}

.doctor_about dl dt span.sttl { font-size: 16px; line-height: 20px; display: block; }

.doctor_about dl dd {
    padding: 15px 15px 25px;
    background: #fff;
    border: 3px solid;
	height: calc(100% - 100px);
}

.doctor_about dl dd hr {
    border-top: 1px solid #E0E0E0;
}

.doctor_about dl dd .tag {
    padding: 5px;
}

.doctor_about dl.sky dt {
    background: #008CCF;
}

.doctor_about dl.sky dd {
    border-color: #008CCF;
}

.doctor_about dl.sky dd .tag {
    background: #D1EAF7;
}

.doctor_about dl.purple dt {
    background: #9070AF;
}

.doctor_about dl.purple dd {
    border-color: #9070AF;
}

.doctor_about dl.purple dd .tag {
    background: #E9E1F0;
}

.doctor_about dl.darkblue dt {
    background: #004098;
}

.doctor_about dl.darkblue dd {
    border-color: #004098;
}

.doctor_about dl.darkblue dd .tag {
    background: #D2DDEB;
}


.doctor_about dl.dental dt { background: #f19db5; height: 70px; position: relative; }
/*.doctor_about dl.dental dt .newicon { font-size: 21px; line-height: 22px; font-weight: bold; position: absolute; top: -3px; left: 20px; width: 80px; height: 60px; padding: 13px 0 0 0; z-index: 100; background: #f00; color: #fff; }
.doctor_about dl.dental dt .newicon:after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 100%;
  border-style: solid;
  border-color: transparent transparent #f19db5 transparent;
  border-width: 0 40px 10px 40px; }*/

.doctor_about dl.dental dd {
    border-color: #f19db5; display: flex; flex-wrap: wrap;
}
.doctor_about dl.dental dd .w_50:nth-child(odd) { margin-right: 15px;
}

.doctor_about dl.dental dd .tag {
    background: #E9E1F0;
}


.doctor_profile figure {
    margin-right: 4%;
}

.doctor_tag {
    padding: 10px 30px;
    background: #fff;
}

.doctor_tag p {
    position: relative;
    min-width: 235px;
    margin: 5px 0;
    padding-left: 22px;
}

.doctor_tag p::before {
    content: '';
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #059400;
}

.seminar_sec {
    max-width: 1200px;
    margin: 0 auto;
}


.seminar_sec .ttl { position: relative;
    padding: 20px 30px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.seminar_sec.sky .ttl {
    background: #008CCF;
}

.seminar_sec.purple .ttl {
    background: #9070AF;
}
.seminar_sec.pink .ttl {
    background: #f19db5;
}
.seminar_sec.darkblue .ttl {
    background: #004098;
}

.seminar_sec .ttl .f-24 {
    margin: 5px 10px;
}

.seminar_sec .ttl .tag {
    width: 200px;
    text-align: center;
    margin-left: auto;
    padding: 5px 10px;
    background: #fff; position: relative;
}

.seminar_sec.darkblue .ttl .tag {
    width: 300px;
}

.seminar_sec .cont {
    padding: 40px 0 10px 0;
    border: 10px solid #E6E6E6;
}

.seminar_sec .open_time {
	font-size: 18px; line-height: 22px; font-weight: bold;
	position: absolute;
    left: calc(50% - 120px);
    bottom: -70px;
    width: 240px;
    padding: 5px; z-index: 100;
    background: #F66; color: #fff; border: 5px solid #F66; border-radius: 50%;
}

.doctor_seminar_info {
    margin-top: 15px; padding-top: 30px; border-top: 3px solid #E6E6E6;
}

.doctor_seminar_info figure {
    margin-right: 3.5%;
}

.seminar_sec.sky .doctor_seminar_info .flex-1 p:not(:first-of-type) {
    position: relative;
    padding-left: 245px;
}

.seminar_sec.sky .doctor_seminar_info .flex-1 p span {
    position: absolute;
    left: 0;
    top: 0;
    width: 245px;
}

.dental_cont p.col-dental { clear: both; }
.dental_cont ul { display: inline-block; float: left; }


.seminar_sec .btn { margin: 40px 0 30px 0; }

.seminar_sec .btn a {
    position: relative;
    display: block;
    text-align: center;
    padding: 20px 15px;
    border: 3px solid;
	font-size: 20px; line-height: 30px; font-weight: bold; border-radius: 100px; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
	background: #fff url("../images/PDF_file_icon.svg") no-repeat; background-size: 30px; background-position: right 15px top 50%;
}

/*.seminar_sec .btn a::after {
    content: '';
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
}

.seminar_sec .btn a:hover::after {
    border-color: transparent transparent transparent #fff !important;
}*/

.seminar_sec .btn.sky_btn a {
    color: #008CCF;
}

/*.seminar_sec .btn.sky_btn a::after {
    border-color: transparent transparent transparent #008CCF;
}*/

.seminar_sec .btn.sky_btn a:hover {
    color: #fff;
    background-color: #008CCF;
}

.seminar_sec .btn.purple_btn a {
    color: #9070AF;
}

/*.seminar_sec .btn.purple_btn a::after {
    border-color: transparent transparent transparent #9070AF;
}*/

.seminar_sec .btn.purple_btn a:hover {
    color: #fff;
    background-color: #9070AF;
}

.seminar_sec .btn.pink_btn a {
    color: #f19db5;
}

/*.seminar_sec .btn.pink_btn a::after {
    border-color: transparent transparent transparent #008CCF;
}*/

.seminar_sec .btn.pink_btn a:hover {
    color: #fff;
    background-color: #f19db5;
}

.seminar_sec .btn.darkblue_btn a {
    color: #004098;
}

/*.seminar_sec .btn.darkblue_btn a::after {
    border-color: transparent transparent transparent #004098;
}*/

.seminar_sec .btn.darkblue_btn a:hover {
    color: #fff;
    background-color: #004098;
}

.seminar_sec .detail_table dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3px;
}

.seminar_sec .detail_table dl dt {
    width: 140px;
    margin-right: 3px;
    padding: 10px;
    text-align: center;
}

.seminar_sec .detail_table dl dd {
    flex: 1;
    padding: 10px 10px 10px 10px;
    background: #F4F4F4;
}

.seminar_sec.sky .detail_table dl dt {
    background: #D1EAF7;
}

.seminar_sec.purple .detail_table dl dt {
    background: #E9E1F0;
}

.seminar_sec.pink .detail_table dl dt {
    background: #fdeff2;
}

.seminar_sec.darkblue .detail_table dl dt {
    background: #D2DDEB;
}

.seminar_point {
    margin-top: 40px;
}

.seminar_point h4 {
    padding-bottom: 10px;
    border-bottom: 4px solid;
}

.seminar_sec.sky .seminar_point h4 {
    border-color: #008CCF;
}

.seminar_sec.purple .seminar_point h4 {
    border-color: #9070AF;
}

.seminar_sec.pink .seminar_point h4 {
    border-color: #f19db5;
}

.seminar_sec.darkblue .seminar_point h4 {
    border-color: #004098;
}

.seminar_sec.pink .seminar_point .contimg {
    margin-top: 30px;
}
.seminar_sec.pink .seminar_point .contimg figure {
    width: 50%; text-align: center;
}
.seminar_sec.pink .seminar_point .contimg img {
    width: 300px;
}

.seminar_doctor_intro {
    padding: 20px 3%;
    background: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, .16);*/
	margin: 0 20px; border: 2px solid #ccc; border-radius: 5px;
}

.seminar_result {
    white-space: nowrap;
}

.seminar_result .w_50 {
    width: 49.5%;
}

.seminar_result table {
    border-collapse: collapse;
	
}

.seminar_result table tr th,
.seminar_result table tr td {
    padding: 5px 5px;
    text-align: center;
    vertical-align: middle;
    border: 3px solid #fff;
    background: #F4F4F4;
}

.seminar_result table thead tr th,
.seminar_result table thead tr td {
    background: #008CCF;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

.seminar_result tbody tr th {
    background: #D1EAF7;
}

.seminar_result .etc_table {
    background: #FDDF8F;
    border: 3px solid #fff;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

.seminar_result .etc_table p {
    padding: 30px 5%;
}

.seminar_result .etc_table .col-white {
    padding: 5px 10px;
    background: #FABE03;
    border-bottom: 3px solid #fff;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.seminar_contact { margin-top: 30px; border-top: 3px solid #E6E6E6; }
.seminar_btn a,.seminar_btn span.btn {
    position: relative;
    display: block;
    text-align: center;
    padding: 15px;
    color: #fff;
    
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
	font-weight: bold; font-size: 21px; line-height: 30px; text-align: center; margin: 30px auto 0 auto; max-width: 500px; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
}
.sky .seminar_btn a { background: #008CCF; }
.purple .seminar_btn a { background: #9070AF; }
.pink .seminar_btn a { background: #f19db5; }
.darkblue .seminar_btn a { background: #004098; }
.seminar_btn span.btn { background-color: #ddd; box-shadow: none; }
/*.seminar2_btn a {
    position: relative;
    display: block;
    text-align: center;
    padding: 15px;
    color: #fff;
    background: #9070AF;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.seminar3_btn a {
    position: relative;
    display: block;
    text-align: center;
    padding: 15px;
    color: #fff;
    background: #004098;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.seminar_btn a:hover {
    background: linear-gradient(to left, #7CD2F6, #A48FD8);
}*/

.seminar_btn a::after {
    content: '';
    position: absolute;
    right: 3%;
    top: calc(50% - 15px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #ffffff;
}

.seminar_dtl_s { clear: both; }
.seminar_dtl_s a {
	position: relative; display: block; text-align: center;
	font-size: 18px; line-height: 20px; font-weight: bold;
	border: 2px solid; padding: 15px 25px; margin: 30px 0; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
}
.seminar_dtl_s.large a {
	padding: 30px 10px;
}

.seminar_dtl_s a::after {
    content: '';
    position: absolute;
    right: 7px;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	 border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; 
}
.sky .seminar_dtl_s a { color: #008CCF; border-color: #008CCF;}
.purple .seminar_dtl_s a { color: #9070AF; border-color: #9070AF; }
.darkblue .seminar_dtl_s a { color: #004098; border-color:  #004098; }
.dental .seminar_dtl_s a { color: #f19db5; border-color: #f19db5; padding: 15px 20px 15px 0; margin: 10px 0 0px 0; }

.seminar_btn_s { margin-top: 10px; }

.doctor_about dl dd p.attention { font-weight: normal; text-align: left; line-height: 20px; margin: 20px 0 0 0; }
.doctor_about dl dd p img { width: 50%; float:left; margin: -10px 10px 20px 0; }

.seminar_btn_s a,.seminar_btn_s span.btn {
	font-size: 15px; line-height: 20px;
    position: relative;
    display: block;
    text-align: center;
    padding: 5px 10px;
    color: #fff;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
	 box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
}
.sky .seminar_btn_s a { background: #008CCF;}
.purple .seminar_btn_s a { background: #9070AF;}
.darkblue .seminar_btn_s a { background: #004098;}
.dental .seminar_btn_s a { background: #f19db5;}
.seminar_btn_s span.btn { background-color: #ddd; box-shadow: none; }
.seminar_btn_s a::after {
    content: '';
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	 border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; border-left-color: #fff;
}

.underline {
    text-decoration: underline;
}

.seminar_contact .d-flex p {
    width: 200px;
    margin: 0 5px 10px;
    padding: 5px;
    text-align: center;
    border: 4px solid #9070AF;
}

.seminar_sec.purple .doctor_seminar_info .flex-1 div p:not(:last-child) {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #E0E0E0;
}

.seminar_sec.purple .doctor_seminar_info .flex-1 div p {
    position: relative;
    padding-left: 100px;
}

.seminar_sec.purple .doctor_seminar_info .flex-1 div p span {
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
	border: 4px solid #9070AF;
    text-align: center;    
    color:#9070AF;
}

.seminar_point .point_sec {
    padding: 24px 3%;
    background: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, .16);*/
	margin: 0 20px; width: 50%;border: 2px solid #ccc; border-radius: 5px;
}

.seminar_point .point_sec figure {
    margin-right: 3%;
}
.seminar_point .point_sec p { font-weight: bold; }

@media screen and (max-width: 768px) and (min-width: 601px) {
    .doctor_top .f-28 {
        font-size: 2.7vw !important;
    }
}

@media screen and (max-width: 768px) {
    .doctor_mv {
        padding-bottom: 50px;
    }
    .doctor_mv_ttl h1 {
        font-size: 3.5rem;
    }
    .doctor_about .col2 {
        width: 100%; position: relative;
    }
    .doctor_about .col1 {
        width: 50%;
        margin: 30px 0 0 auto;
    }
    .seminar_sec.sky .doctor_seminar_info .flex-1 p:not(:first-of-type) {
        padding-left: 0;
    }
    .seminar_sec.sky .doctor_seminar_info .flex-1 p span {
        position: relative;
        display: block;
        width: 100%;
    }
	.sky .seminar_btn_s,.darkblue .seminar_btn_s { padding-bottom: 0;}
	
	.doctor_about .col2 .d-flex {
        display: inline !important; position: relative;
    }
	.doctor_about dl { float: left; }
	
	.doctor_about dl.dental.w_100 { width: 48.485% !important; /*background: #999; position: absolute; bottom: -100%;*/ float: left; }
	.doctor_about dl.dental dd .w_50 { width: 100%; }
	.doctor_about dl.dental dd .w_50:nth-child(odd) { margin-right: 0;
}

}

@media screen and (max-width: 600px) {
    .doctor_mv .f-28 { font-size: 1.6rem !important; }
	
	.doctor_top .seminar_link a,
    .doctor_about .col2 .w_50,
    .doctor_about .col1,
    .seminar_result .w_50,
	.doctor_about dl.dental.w_100 {
        width: 100% !important;
    }
    .doctor_top h2 {
        padding: 0;
    }
    .doctor_top h2::before {
        left: 4.5%;
        transform: rotate(-25deg);
        -webkit-transform: rotate(-25deg);
        -moz-transform: rotate(-25deg);
        -ms-transform: rotate(-25deg);
        -o-transform: rotate(-25deg);
    }
    .doctor_top h2::after {
        right: 4.5%;
        transform: rotate(25deg);
        -webkit-transform: rotate(25deg);
        -moz-transform: rotate(25deg);
        -ms-transform: rotate(25deg);
        -o-transform: rotate(25deg);
    }
    .doctor_profile .flex-1,
    .doctor_seminar_info .flex-1 {
        flex: none;
        width: 100%;
    }
    .doctor_tag {
        padding: 10px;
    }
    .seminar_sec .detail_table dl dt {
        width: 110px;
    }
    .doctor_profile figure,
    .doctor_seminar_info figure {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }
		.doctor_about dl dd p img { width: 50%; float:left; margin: -9px 10px 0 0; }
	.seminar_dtl_s { padding-top: 5px; }
	
	.seminar_doctor_intro { margin: 0 0 20px 0; }
	
	.seminar_point .d-flex { display: block !important; }
	.seminar_point .point_sec { width: auto; margin: 0 0 20px 0; display: flex !important; }
	
	.seminar_dtl_s.large a { padding: 15px 10px; }
}

@media screen and (max-width: 375px) {
    .doctor_top h2::before,
    .doctor_top h2::after {
        height: 70px;
    }
    .seminar_point .point_sec figure {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }
    .seminar_point .point_sec .flex-1 {
        flex: none;
        width: 100%;
        margin-top: 15px;
    }
    .seminar_sec .ttl .tag {
        width: 150px;
    }
    .seminar_sec.darkblue .ttl .tag {
        width: 200px;
    }
}

/**/
.seminar_drmessage { display: flex; flex-wrap: wrap; padding: 40px 0 0 0; margin: 30px 0 0 0; border-top: 1px solid #ccc; }
.seminar_drmessage .message { flex: 1; }
.seminar_drmessage .message p { margin-bottom: 20px; }
.seminar_drmessage .sign { width: 200px; margin: 0 40px 0 0; text-align: center; }
.seminar_drmessage .sign p { line-height: 15px; }
.seminar_drmessage .sign p .stxt { font-size: 13px; display: block; margin-bottom: 15px; }
.seminar_drmessage img { width: 200px; height: 200px;  }

.doctor_profile { margin: 40px 0; }
.doctor_profile .profile { padding-top: 5px; border-top: 1px solid #999; }
.doctor_profile figure img { width: 150px; }

.doctor_profile dl { display: inline-block; width: 50%; margin: 0 0 10px 0; }
.doctor_profile dl.f_right { float: right; padding-left: 20px; }
@media screen and (max-width: 767px) {
	.doctor_profile dl { width: auto; }
	.doctor_profile dl.f_right { float: none; padding: 0; }
}
.doctor_profile dl dt { padding: 0; background: transparent; border: none; height: auto; }
.doctor_profile dl dd { padding: 0; background: transparent; border: none; }
.doctor_profile dl dd .stxt { font-size: 0.8em; display: block; }

/******************************
********** ドクターの皆様へ ********
*******************************/
.doctor_top_mv {
    margin-top: 0px;
    background: url(../images/sub/one_bg.jpg) no-repeat center / cover;
	display: block; height: 200px; position: relative;
}
.doctor_top_mv .mv_inner h1 { background: #82C1EA; color: #fff; }
/*
.doctor_menu { padding: 40px 0; }
.doctor_menu .btnarea { justify-content: center; margin-top: 30px; }
.doctor_menu .btn { padding: 0 10px; margin: 0 0 30px 0; }
.doctor_menu .btn a { position: relative; display: block; border: 2px solid #ccc; padding: 10px 30px 25px 30px; font-size: 18px; line-height: 20px; min-width: 300px; text-align: center; }
.doctor_menu .btn a::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: calc(50% - 30px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 30px 0 30px;
	 border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent; 
}
.doctor_menu .btn.seminar a { color: #008CCF; border-color: #008CCF;}
.doctor_menu .btn.analysis a { color: #8FC31F; border-color: #8FC31F;}


.drseminar_info {}
.drseminar_info .flex-1 { padding: 0 20px; }
.drseminar_info p {}
.drseminar_info .mvimg { margin-left: 20px; }
.drseminar_info .mvimg img { width: 400px; height: 225px; }

.doctor_seminar_info figure img { width: 320px; }
.drseminar_info .seminar_dtl_s a { color: #82C1EA; border-color: #82C1EA; background: #fff; font-size: 20px; }

.doctor_main h2 { text-align: center; font-weight: bold; font-size: 30px; line-height: 60px; margin-bottom: 30px;  }

.doctor_analysis .flex-1 .btnarea { display: flex; flex-wrap: wrap; margin: 50px 0 0 0; }
.doctor_main .doctor_about h2 { border-bottom: 3px solid #82C1EA; }
.doctor_main .doctor_analysis h2 { border-bottom: 3px solid #8FC31F; }
.doctor_analysis .seminar_dtl_s,.doctor_analysis .seminar_btn_s { width: calc(50% - 0px); }
.doctor_analysis .seminar_dtl_s a,.doctor_analysis .seminar_btn_s a,.doctor_analysis .seminar_btn_s span.btn { padding: 20px 25px; font-size: 20px; line-height: 25px; font-weight: bold; max-width: 300px; margin: 20px; }
.doctor_analysis .seminar_dtl_s a{ border-color: #8FC31F; color: #8FC31F; }
.doctor_analysis .seminar_btn_s { margin-top: 0; position: relative; }
.doctor_analysis .seminar_btn_s a { background-color: #8FC31F; }
.doctor_analysis .seminar_btn_s span.btn { background-color: #ddd; box-shadow: none; }
.doctor_analysis .seminar_btn_s span.soon { position: absolute; bottom: -5px; left: 30px; text-align: center; width: 300px; }

.doctor_group { margin: 30px 10px 0 10px; padding: 30px; border-radius: 30px; background: #d4ecfa; border: 1px solid #fff; }
.doctor_group h3 { font-size: 24px; line-height: 30px; font-weight: bold; text-align: center; margin: 0 0 15px 0; border-bottom: 2px solid #82C1EA; }
.doctor_group p { margin: 0 0 15px 0; }

.doctor_group a.btn {
    position: relative;
    display: block;
    text-align: center;
    padding: 10px 15px; margin: 0 auto;
    border: 3px solid #82C1EA;
	font-size: 18px; line-height: 25px; font-weight: bold; border-radius: 100px; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
	color: #82C1EA; max-width: 300px;
	background: #fff url("../images/PDF_file_icon.svg") no-repeat; background-size: 30px; background-position: right 15px top 50%;
}

.null .btnarea { display: block; text-align: center; margin: 50px 0; }
.null .seminar_dtl_s a { border-color: #8FC31F; color: #8FC31F; width: 300px; margin: 0 auto; }
.null .seminar_dtl_s a::after { content: none; }



.doctor_analysis { padding: 60px 0; }
.doctor_analysis .attention { color: #f00;}
.reportimg { margin: 0 40px 0 0; }
.reportimg img { width: 210px; border: 1px solid #ccc; }

@media screen and (max-width: 768px) {
.doctor_analysis .seminar_dtl_s,.doctor_analysis .seminar_btn_s { width: 100%; }
}

@media screen and (max-width: 480px) {
	.doctor_main h2 { font-size: 20px; line-height: 40px; }
	.seminar_drmessage { display: block; }
	
	.drseminar_info .seminar_dtl_s a { font-size: 18px; }
	
	.seminar_drmessage .sign { width: auto; margin: 0; }
	.seminar_drmessage img { width: 150px; height: 150px; float: left; }
	.seminar_drmessage .message { clear: both; padding-top: 20px; }
	
	.seminar_drmessage .sign p,.seminar_drmessage .message p ,.doctor_group p,.seminar_point p { font-size: 16px; line-height: 25px; }
	
	.doctor_group a.btn { padding: 10px 5px; background-size: 20px; background-position: right 5px top 50%; }
	
	.doctor_analysis .flex-1 .btnarea { margin: 0; }
	.doctor_analysis .seminar_dtl_s a,.doctor_analysis .seminar_btn_s a { font-size: 18px; }
}

figure.triangle { background: #82C1EA; padding-bottom: 10px; }
#seminar02,#seminar03 { border-top: 50px solid #82C1EA; }
*/

/******************************
********** 栄養解析サービス ********
*******************************/
/*.analysis_main h2 { text-align: center; font-weight: bold; font-size: 30px; line-height: 60px; margin-bottom: 30px; border-bottom: 3px solid #8FC31F; }
.analysis_main .attention { color: #f00;}

.analysis_top { padding: 40px 0 100px 0; }
.analysis_top .d-flex { align-items: flex-start; }


.analysis_main .registerarea { margin: 30px 0 0 0; padding: 30px 0 0 0; border-top: 1px solid #ccc; }

.analysis_main a.register_btn,.analysis_main span.register_btn { position: relative; display: block; text-align: center; padding: 20px 15px; font-size: 20px; line-height: 30px; font-weight: bold; max-width: 300px; margin: 0 auto;
	border-radius: 100px; box-shadow: 0 5px 5px rgba(0, 0, 0, .3); background-color: #8FC31F; color: #fff; }
.analysis_main span.register_btn { background-color: #ddd; box-shadow: none; }
.analysis_main span.soon { display: block; text-align: center; margin: 5px auto 0 auto; }

.analysis_main a.register_btn::after {
    content: '';
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	 border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; border-left-color: #fff;
}

.analysis_main .btnarea { display: flex; flex-wrap: wrap; margin: 50px 0 0 0; }
.analysis_main a.btn_pdf {
    position: relative;
    display: block;
    text-align: center;
    padding: 10px 45px 10px 15px; margin: 0 auto 40px auto;
    border: 3px solid #8FC31F;
	font-size: 18px; line-height: 25px; font-weight: bold; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
	color: #8FC31F; min-width: 270px; max-width: 300px;
	background: #fff url("../images/PDF_file_icon.svg") no-repeat; background-size: 30px; background-position: right 5px top 50%; }
*/

.promomv_area { border-bottom: 1px solid #ccc; margin-bottom: 30px; justify-content: space-around; }
.promomv_area.nobd { border-bottom: none; margin-bottom: 0; }
.doctor_top .promomv_area { border: none; margin-bottom: -20px; padding-top: 30px; }
.promomv { width: 47%; margin: 0 1.5% 30px 1.5%; }
.promomv dl { font-size: 14px; line-height: 21px; display: block; margin: 10px 10px 0 10px; }
.promomv dt { font-size: 16px; font-weight: bold; }
.promomv dt .time { font-size: 13px; margin: 0 0 0 20px; font-weight: normal; }
.promomv dd { display: block; border-top: 1px solid #ccc; }
.youtube { position: relative; width: 100%; padding-bottom: 56.25%; background: #ccc; }
.youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.fv_btn { width: 47%; margin: 0 1.5% 30px 1.5%; max-width: 300px; display: flex; flex-direction: column; }
.fv_btn a { display: block; position: relative; font-size: 18px; line-height: 1.2em; text-align: center; font-weight: bold; color: #5B9000; border: 2px solid #8FC31F; margin: 25px 0; padding: 12px 0; }
.fv_btn a::after { content: ''; position: absolute; right: 3px; top: 50%; width: 0; height: 0;
    border-style: solid; border-width: 8px 0 8px 8px; border-color: transparent transparent transparent #8FC31F; transform: translateY(-50%); }
.fv_btn a .new { display: block; position: absolute; left: -10px; top: -10px; text-align-last: center; padding: 2px 10px 4px 10px; background: #f90; color: #fff;/* font-weight: normal; font-size: 16px;*/ line-height: 20px; border-radius: 50%; }


@media screen and (max-width: 480px) {
	.doctor_analysis .flex-1,.analysis_top .flex-1 { flex: none; width: 100%; }
	.reportimg { margin: 0 auto 20px auto; }
	.promomv,.fv_btn { flex: none; width: 100%; margin: 0 0 20px 0; }
	.fv_btn a {}
	.doctor_top .promomv_area { margin-bottom: 0; }
}

/*体験動画*/
.exp_main h2 .stxt { font-size: 20px; }
.exp_main h3 { font-size: 18px; line-height: 25px; font-weight: bold; margin: 40px 0 0 0; padding: 0 0 10px 0; border-style: solid; border-color: #8FC31F; border-width: 1px 1px 0 1px; background: #f6faed; }
.exp_main h3 .number { display: inline-block; width: 120px; text-align: center; padding: 3px 0; background: #5B9000; color: #fff; }
.exp_main h3 .time { display: inline-block; margin: 0 0 0 5px; text-align: right; font-weight: normal; font-size: 18px; color: #5B9000; }
.exp_main h3 .time.right { display: block; }
.exp_main h3 .title { display: block; text-align: center; margin: 10px 0 0 0; }
.exp_main .promomv { width: 100%; max-width: 500px; margin: 0 auto 60px auto; }




/******************************
********* 栄養解析お申し込み *********
*******************************/
/*
.register_head { margin: 0 20px 0 20px; padding: 20px 20px 10px 20px; border: 1px solid #ccc; }
.register_head p { margin: 0 0 10px 0; }
.register_head p .attention { display: inline-block; padding: 3px 5px; color: #f00; border: 1px solid #f00; }

.register_head2 { margin: 0 20px 0 20px; padding: 0; border: 1px solid #ccc; overflow: auto; }
.register_head2 p { margin: 0 0 10px 0; padding: 20px 20px 10px 20px; }
.register_head2 img { display: block; margin: 0 20px 0 0; width: 450px; height: auto; float: left; }
@media screen and (max-width: 480px) {
	.register_head2 { overflow: inherit; }
	.register_head2 img { width: 100%; float: none;  }
}

.register_cont {}

.register_cont h3 { font-size: 24px; font-weight: bold; margin: 80px 20px 20px 20px; border-top: 3px solid #8FC31F; border-left: 10px solid #8FC31F; color: #8FC31F; padding-left: 10px; }
.register_cont p.attention { margin: 0 20px; color: #b62020; }

.register_cont span.must { display: inline-block; width: 36px; height: 18px; font-size: 13px; line-height: 18px; text-align: center; color: #fff; background: #f00; font-weight: bold; margin-left: 5px; }

.register_cont dl hr { border-top: 1px dashed #ccc; margin: 0 20px 40px 20px; }

.register_cont dl {
	font-size: 16px; line-height: 20px; margin: 0 20px;
}
.register_cont dl dt {
    width: 35%;
    max-width: 250px;
    position: relative;
    font-weight: bold;
	height: 50px; text-align: right; padding-right: 10px; 
}
.register_cont dl dd { margin: -50px 20px 40px 250px; }

.register_cont dl dd .ques-02_head { display: block; margin: 0 0 20px 0; }
.register_cont dl dd .ques-02 .wpcf7-list-item { display: block; margin: 0 0 10px 0; font-size: 14px; }


.register_cont dl dd .stxt { display: block; font-size: 13px; }
.register_cont dl dd .attention { font-size: 14px; line-height: 20px; color: #b62020; }
.register_cont .custom-wpcf7c-confirmed dl dd .stxt,.register_cont .custom-wpcf7c-confirmed dl dd .attention  { display: none; }

.register_cont dl dd .attention2 { display: inline-block; margin-bottom: 20px; }
.register_cont dl dd .label { display: inline-block; width: 110px; }

.register_cont input,
.register_cont select {
    padding: 0 10px;
    box-sizing: border-box;
	font-size: 16px;
}

.register_cont input[type="checkbox"] { margin-right: 10px;}


.register_cont input[type="text"],
.register_cont input[type="tel"],
.register_cont input[type="email"],
.register_cont input[type="number"],
.register_cont select {
    width: 100%;
    height: 40px;
    background: #F6F6F6;
    border: 1px solid #E5E5E5;
}

.register_cont select { background: #fff; }
.register_cont select.p-counselor { width: 50%; margin: 5px 0 20px 0; border-color: #ccc; }
@media screen and (max-width: 767px) {
	.register_cont select.p-counselor { width: 100%; }
}


.register_cont textarea {
    width: 100%;
    padding: 10px;
    background: #F6F6F6;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
}

.register_cont .btnarea { display: flex; flex-wrap: wrap; margin: 30px 0 0 0; }
.register_cont input[type="submit"],.register_cont input[type="button"] {
    display: block;
    width: 100%;
    max-width: 310px;
    margin: 0 auto 30px auto;
    font-weight: bold;
    font-size: 2.1rem;
    background: #6F7070;

	border: none;
    color: #fff;
    height: 72px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer; box-shadow: 0 5px 5px rgba(0, 0, 0, .3);
}
.register_cont input[type="submit"].wpcf7c-btn-confirm { background: #8FC31F; }
.register_cont input[type="button"].wpcf7c-btn-back { background: #8FC31F; }
.register_cont input[type="submit"].wpcf7-submit { background: #ff8c1a; }
.register_cont input[type="submit"].wpcf7-submit:disabled { background: #999; }
.register_cont input[type="submit"]:hover,.register_cont input[type="button"]:hover {

	opacity: 0.7;
}

.register_cont a {
    color: #0027FF;
    text-decoration: underline;
}

.register_cont .zip01 input { width: 200px; }
.register_cont .tel01 input,.register_cont .fax01 input,.register_cont .position input,.register_cont .username input,.register_cont .username_kana input,.register_cont .license_entry_name input { width: 50%; min-width: 300px; }
.register_cont .year_name select,.register_cont .year_count input { width: 80px; margin-right: 10px; }

.register_cont .year_count { position: relative; }
.register_cont .year_count::before { content: '年'; display: block; position: absolute; top: 3px; right: -10px; }


.register_cont .terms { display: block; max-height: 250px; overflow-y: auto; padding: 15px; border: 1px solid #ccc; background: #f5faff; margin: 5px 20px 30px 20px; }
.register_cont .terms h2 { font-size: 20px; line-height: 25px; font-weight: bold; text-align: center; margin: 0 0 15px 0; }
.register_cont .terms h3 { font-size: 16px; line-height: 20px; font-weight: bold; margin: 15px 0 5px 0; padding: 0; border: none; color: #000; }
.register_cont .terms p { font-size: 14px; line-height: 20px; margin: 5px 15px 0 15px; }
.register_cont .terms ul { font-size: 14px; line-height: 20px; margin: 5px 15px 0 15px; padding: 0; }
.register_cont .terms li { margin: 5px 0 0 0; }

.register_cont dl.acceptance { background: #fff0f0; padding: 40px 20px 10px 20px; margin: 0 20px 50px 20px; border-radius: 20px; }



.register_cont input[type="text"].wpcf7-not-valid,
.register_cont input[type="tel"].wpcf7-not-valid,
.register_cont input[type="email"].wpcf7-not-valid,
.register_cont input[type="number"].wpcf7-not-valid,
.register_cont select.wpcf7-not-valid { background: #ffe5e5; }
.wpcf7 form .wpcf7-response-output { text-align: center; color: #f00; }

.register_cont input[type="text"].wpcf7c-conf,
.register_cont input[type="tel"].wpcf7c-conf,
.register_cont input[type="email"].wpcf7c-conf,
.register_cont input[type="number"].wpcf7c-conf,
.register_cont select.wpcf7c-conf { border: none; background: none; color: #0044cc; margin-top: -10px; }
*/

/*
.wpcf7-spinner { position: absolute; }
.wpcf7 div.wpcf7c-elm-step2 { margin: 20px 0; padding: 20px 10px; text-align: center; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background-color: #eaf6fd;  border: 3px solid #7ecef4; font-size: 18px; line-height: 20px; font-weight: bold; }

.wpcf7 .wpcf7c-elm-step3 { margin: 20px 0; padding: 8px 0px; text-align: center; font-size: 14px; line-height: 20px; }




.register_cont input[type=checkbox] { display: none; }

.register_cont span.wpcf7-list-item { display: block; margin: 0 0 20px 0; }

.register_cont .custom-wpcf7c-confirmed .wpcf7-list-item-label { color: #0044cc; }

.register_cont input[type=checkbox] + .wpcf7-list-item-label {
  padding-left: 30px;
  display: inline-block;
  position: relative;
}
.register_cont .custom-wpcf7c-confirmed input[type=checkbox] + .wpcf7-list-item-label { display: none; }



.register_cont input[type=checkbox] + .wpcf7-list-item-label::after,
.register_cont input[type=checkbox] + .wpcf7-list-item-label::before {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid #AAAAAA;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0; background: #fff;
}


.register_cont input[type=checkbox] + .wpcf7-list-item-label::after {
  opacity: 0;
  width: 10px;
  height: 17px;
  transform: rotate(45deg);
  left: 7px; top: -4px;
  border: none;
  border-right: 3px solid #f18800;
  border-bottom: 4px solid #f18800; background: none;
}


.register_cont input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: #f18800;
}
.register_cont input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}





.register_cont input[type=radio] { display: none; }


.register_cont input[type=radio] + .wpcf7-list-item-label {
  padding-left: 30px;
  display: inline-block;
  position: relative;
}
.register_cont .custom-wpcf7c-confirmed  input[type=radio] + .wpcf7-list-item-label { display: none; }


.register_cont input[type=radio] + .wpcf7-list-item-label::after,
.register_cont input[type=radio] + .wpcf7-list-item-label::before {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid #AAAAAA;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
}


.register_cont input[type=radio] + .wpcf7-list-item-label::after {
  opacity: 0;
  width: 14px;
  height: 14px;
  top: 4px;
  left: 4px;
  border: none;
  background: #f18800;
}


.register_cont input[type=radio]:checked + .wpcf7-list-item-label {
  color: #f18800;
}

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


.doctor_type .wpcf7-list-item { margin-right: 20px; }
.medical_institution_type .wpcf7-list-item { display: block; margin: 0 0 10px 0; }


@media screen and (max-width: 600px) {
	.register_head,.register_cont h3 { margin-left: 0; margin-right: 0; }
		
	.register_cont dl dt { width: 100%; max-width: none; margin-bottom: 5px; padding: 0; text-align: left; height: 20px; }
	.register_cont dl dt br { display: none; }
	.register_cont dl dd { flex: none; width: 100%; margin: 0 0 20px 0; }
	.register_cont dl hr { margin: 0 -10px 20px -10px; }
}
*/

.terms { margin: 10px;}
.terms h2 { margin: 50px 0 10px 0; font-size: 20px; line-height: 25px; font-weight: bold; }
.terms h3 { margin: 10px 20px; font-size: 16px; line-height: 21px; font-weight: bold; }
.terms p,.terms ul { margin: 15px 30px; padding: 0; font-size: 14px; line-height: 21px; }
.terms ul ul.terms p ul { margin: 10px 15px; }
.terms li { margin: 10px 0; }
.terms .btnarea p.btnatt { font-size: 14px; line-height: 20px; margin: 40px 20px 0 20px; color: #8FC31F; }

@media screen and (max-width: 600px) {
	.terms p,.terms ul { margin: 15px 15px; }
}


/******************************
********** 講演会・セミナー講師依頼 ********
*******************************/
/*.semireq_mv { display: flex; align-items: center; height: 240px; position: relative; margin: 0 auto 50px auto;
    background: #e9f3d2 url(../images/sub/instructor_mv.jpg) no-repeat top / cover; }

.semireq_mv h1 { display: inline-block; font-size: 35px; line-height: 1.2em; text-align: center; }
.semireq_mv h1 span { color: #8FC31F; border-top: 2px solid #8FC31F; display: block; padding: 5px 10px 0 10px; font-size: 22px; line-height: 25px; margin: 5px 0 0 0; }

.semireq p.semi_for { display: block; background-color: #008A78; color: #fff; font-size: 20px; font-weight: bold; margin: -20px -20px 0px -20px; text-align: center; }

.semireq_main {}
.semireq { border: 2px solid #8FC31F; padding: 20px 20px 0px 20px; margin: 0 0 50px 0; }

.semireq_top { display: flex; flex-direction: row-reverse; border-bottom: 2px solid #8FC31F; }
.semireq_top .group { width: 50%; }

.semireq_top .promomv_area { margin: 0 0 30px 3%; border: none; }
.semireq_top .promomv { width: 100%; margin: 0; }

.semireq_main .box { background: #e7f1cf; margin: 0 3% 20px 0; padding: 10px 20px; display: flex; flex-wrap: wrap; }
.semireq_main .box h4 { font-size: 18px; line-height: 25px; font-weight: bold; margin: 0 0 5px 0; width: 100%; }
.semireq_top .box p { margin: 5px 10px 0 10px; padding: 0; font-size: 13px; line-height: 20px; }
.semireq_top .box ul { margin: 0 10px; padding: 0; font-size: 16px; line-height: 20px; }
.semireq_top .box li { margin: 0 0 5px 0; position: relative; padding-left: 10px;}
.semireq_top .box li:before { content: ''; width: 8px; height: 8px; position: absolute; left: 0; top: 9px; border-radius: 50%; background-color: #8FC31F; }

.semireq_top .box.target ul { display: flex; flex-wrap: wrap; }
.semireq_top .box.target li { width: 33%; }

.semireq_top .box.target_c { min-height: 120px; align-items: center; }

.semireq_bottom { margin: 0; padding: 20px 0 0 0; }
.semireq_bottom h3 { text-align: center; font-size: 25px; line-height: 30px; font-weight: bold; margin: 0 0 30px 0; color: #008A78; }
.semireq_bottom h3 img { width: auto; height: 100px; vertical-align: middle; margin-right: 20px; }

.semireq_bottom ul { display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0; }
.semireq_bottom li { width: calc( 25% - 20px ); text-align: center; font-size: 16px; line-height: 16px; margin: 0 10px 20px 10px; padding: 10px 5px; border: 1px solid #ddd; }
.semireq_bottom li img { width: 120px; }
.semireq_bottom li span { display: block;  }
.semireq_bottom li .name { margin: 8px 0; color: #008A78; font-weight: bold; }
.semireq_bottom li .detail { font-size: 12px; }

.semireq_bottom ul.special { margin-bottom: 20px; border-bottom: 2px solid #8FC31F; }
.semireq_bottom ul.normal {  }

.semireq_main .registerarea { margin: 30px 0 50px 0; padding: 0; }

.semireq_main a.register_btn,.semireq_main span.register_btn { position: relative; display: block; text-align: center; padding: 5px 20px; font-size: 20px; line-height: 25px; font-weight: bold; max-width: 320px; margin: 0 auto 20px auto;
	border-radius: 100px; box-shadow: 0 5px 5px rgba(0, 0, 0, .3); background-color: #8FC31F; color: #fff; }
.semireq_main span.register_btn { background-color: #ddd; box-shadow: none; }
.semireq_main span.soon { display: block; text-align: center; margin: 5px auto 0 auto; }

.semireq_main a.register_btn::after {
    content: '';
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 12px;
	 border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; border-left-color: #fff;
}


@media screen and (max-width: 1000px) {
	.semireq_mv { height: 200px; background-position: top right; }
	.semireq_mv h1 { font-size: 25px; background-color: #f9fcf4; margin-left: -15px; }
.semireq_mv h1 span { font-size: 16px; padding: 5px 30px 0 30px; }
	.semireq_top .box ul { font-size: 14px; line-height: 18px; }
	.semireq_top .box.target li { width: auto; padding-right: 20px; }
}

@media screen and (max-width: 600px) {
	.semireq_top { flex-direction: column; }
	.semireq_top .group { width: auto; }
	.semireq_top .promomv_area { margin: 0 0 30px 0; }
	.semireq_bottom { padding: 20px 10px 0px 10px; }
	.semireq_bottom li { width: calc( 50% - 20px ); }
	.semireq_main .box { margin: 0 0 20px 0; }
}

@media screen and (max-width: 480px) {
	.semireq_mv .inner { padding: 0; }
	.semireq_mv h1 { width: 100%; margin: 0 auto; }
	.semireq_mv h1 span { width: 100%; padding: 5px 0 0 0; }
	.semireq_main {}
	.semireq_main .inner { padding: 0; }
	.semireq_bottom h3 img { display: block; margin: 0 auto; }
	.semireq_bottom li { width: calc( 50% - 10px ); margin: 0 5px 10px 5px; padding: 10px 5px; border: 1px solid #ddd; }
}
*/

/******************************
********** 特定商取引法に基づく表記 ********
*******************************/


.law {}
.law table { width: 100%; text-align: left; border-bottom: 1px solid #CBCBCB; }
.law table tr { border-top: 1px solid #CBCBCB; }
.law table th,.law table td { vertical-align: middle; /*border: 1px solid #B4B4B4;*/ }
.law table th { /*background: #e9f3d2;*/ white-space: nowrap; font-weight: bold; padding: 15px 15px 15px 0; }
.law table td { padding: 15px 10px 15px 15px; }

@media screen and (max-width: 767px) {
	.law table { display: block; font-size: 14px; }
	.law table th,.law table td { display: block; border: none; }
	.law table th { /*border-top: 2px double #B4B4B4;*/ padding: 15px 10px 5px 10px; }
	.law table tr:first-child th { /*border-top: none;*/ }
	.law table td { padding: 5px 10px 15px 10px; }
}



