@charset "utf-8";

/*-----------------------------------------------------	*/
/*  個別指定 for PC	*/
/*-----------------------------------------------------	*/
/* hack */




/* chg_dsp */
.only_sp_B,
.only_tab,
.only_sp,
.exc_pc,
.only_tab_B {
    display: none !important;
}

.only_pc,
.exc_tab {
    display: inline;
}

.only_pc_B,
.exc_tab_B {
    display: block;
}




/* -------------- style.css override ----------------- */





.clear:before,
.clear:after {
    content: "";
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    zoom: 1;
}





/* --------- main img ------------*/
#img_main {
    width: 100%;
    max-width: 1400px;
    /* height:200px;*/
    margin: 0 auto;
    padding: 0;
    position: relative;
}



/* ● wordpress  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#secondary .common_btn {
    display: block !important;
    padding: 5px 20px;
}


/* ● お知らせ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
#wp_btn_news {
    margin-bottom: 30px;
}










/* ● common  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.border_B {
    margin-bottom: 40px;
}

.border_B2 {
    margin-bottom: 20px;
}

/*
.bg		{background:url(../img/common/common_bdy_bg.png); padding:30px 0; position:relative;}
.bgnone		{padding:30px 0; position:relative;}
*/




.common_btn {
    display: inline-block;
    clear: both;
    color: #fff;
    position: relative;
    font-size: 1.2em;
    background-color: #22964d;
    padding: 5px 35px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    text-align: center;
    color: #FFF;
}

.common_btn span {
    display: inline-block;
}

.common_btn span:before {
    content: "\f144";
    font-family: FontAwesome;
    /* width: 30px; */
    /* height: 30px; */
    color: #fff;
    display: block;
    position: absolute;
    margin: auto;
    left: 20px;
    bottom: 0;
    top: 0;
    font-size: 1.3em;
}





div.f_access_btn {
    text-align: right;
    margin: 0.2em 0;
}



#pagetop_obi {}

#pagetop {
    width: 55px;
    height: 83px;
    position: fixed;
    right: calc(((100% - 1040px) / 2) / 4);
    bottom: 0;
}

/* --------- common header --------- */
#header {
    width: 100%;
    background: #22964d;
}

#hdr_wrapper {
    position: relative;
}

#header_inner {
    width: 1040px;
    height: 90px;
    overflow: hidden;
    margin: 0 auto;
    position: relative
}

#hdr_logo_wrapper {
    display: inline-block;
}

#hdr_logo {
    width: 356px;
    height: 80px;
    overflow: hidden;
    background: url(../img/common/common_hdr_logo.png) no-repeat;
    background-size: contain;
    background-position: left center;
    text-indent: -100em;
}

#hdr_other {
    width: calc(100% - 360px);
    height: 80px;
    float: left;
}

#opn_cls {
    padding-top: 50px;
}

#hdr_opn {
    width: 370px;
    float: left;
}

#hdr_opn dl {
    width: 100%;
    display: block;
    margin: 5px 0;
    padding: 0;
}

#hdr_opn dl dt {
    width: 110px;
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 1em;
    float: left;
    position: relative;
    top: -2px;
}

#hdr_opn dl dt span {
    width: 111px;
    display: block;
    background-color: #008bd2;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

#hdr_opn dl dd {
    width: calc(100% - 120px);
    display: block;
    margin: -0.4em 0 0 10px;
    padding: 0;
    float: left;
    font-size: 0.92em;
    line-height: 1.3em;
}

#hdr_cls {
    width: calc(100% - 370px);
    float: left;
}

#hdr_cls dl {
    width: 100%;
    display: block;
    margin: 5px 0;
    padding: 0;
}

#hdr_cls dl dt {
    width: 110px;
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 1em;
    float: left;
    position: relative;
    top: -2px;
}

#hdr_cls dl dt span {
    width: 111px;
    display: block;
    background-color: #40b236;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

#hdr_cls dl dd {
    width: calc(100% - 120px);
    display: block;
    margin: 0 0 0 10px;
    padding: 0;
    float: left;
    font-size: 0.92em;
}


#hdr_tel {
    width: 272px;
    height: 38px;
    position: absolute;
    right: 24px;
    top: 5px;
}

#hdr_tel img {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

#hdr_access {
    width: 116px;
    height: 38px;
    position: absolute;
    right: 0px;
    top: 5px;
}

#hdr_access img {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

#hdr_tbl {
    width: 392px;
    height: 107px;
    position: absolute;
    right: 0px;
    top: 48px;
}

#hdr_tbl img {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

/*
#btn_size	{ width: 230px; height:30px; background:#0F4386; position:absolute; right:0; top:0;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomleft: 6px;
-moz-border-radius-bottomright: 6px;
}
#btn_size #btn_t{ position:absolute; left:10px; top:3px; width:91px; height:22px;}
#btn_size #btn_t img {vertical-align:top !important;}
#btn_size #btn_s{ width:55px; height:21px; position:absolute; right:70px; top:3px;line-height:0;}
#btn_size #btn_l{ width:55px; height:21px; position:absolute; right:10px; top:3px;line-height:0;}
*/


#section_top {
    width: 100%;
    padding-top: 0 !important;
    padding-bottom: 2.5em;
    /*border-top:solid 2px #0F4386;
border-bottom:solid 2px #0F4386;*/
}

#index #section_top {
    padding-bottom: 0 !important;
    /*60px;*/
}

#section_top h1 {
    position: absolute;
    left: -9999px;
    top: -9999px;
}

#index #section_top h1 {
    position: absolute;
    left: -9999px;
    top: -9999px;

}

#breadcrumbs ol {
    margin: 0;
}

/* --------- common footer --------- */

#footer {
    padding: 80px 0 0;
    position: relative;
}

/*
#footer:before	{content: url(../img/common/common_ftr_kazari.png);width:1040px;
    margin:0 auto;display: block;/*transform: scale(0.5);*/
position: absolute;
left: 0;
right: 0;
top: -48px;
z-index:-99;
}

*/ #footer_midashi {
    position: absolute;
    top: -60px;
}



#ftr_tbl_time {
    display: block;
    /* margin:10px 0;*/
}



#ftrL {
    width: 500px;
    margin-right: 40px;
    float: left;
    font-size: 0.95em;
}

#ftrR {
    width: 500px;
    float: left;
    padding-top: 0.6em;
}


#ftrL dl {
    width: 100%;
    display: block;
    margin: 5px 0 0px 0;
    /*margin:15px 0 10px 0;*/
    padding: 0;
}

#ftrL dl:last-child {
    border: none;
}

#ftrL dl dt {
    width: 130px;
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    float: left;
    position: relative;
    top: -2px;
}

#ftrL dl dt span {
    width: 111px;
    display: block;
    background-color: #279d4f;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    text-align: center;
    color: #FFF;
}

#ftrL dl dd {
    width: calc(100% - 130px);
    display: block;
    margin: 0 0 0 0;
    padding: 0;
    float: left;
}

#ftrL dl dd p b {
    display: block;
    margin-bottom: 0.3em;
    color: #279d4f;
}

#ftrL .notice,
#ftrR .notice {
    margin-bottom: 0.6em;
    line-height: 1.4em;
    text-indent: -1em;
    margin-left: 1em;
}

.ftr_shinsatsu div {
    display: block;
    clear: left;
}

.ftr_shinsatsu div span {
    display: block;
    max-width: 26em;
    float: left;
}

.indentB {
    display: block;
    width: 5em;
    float: left;
    margin: 0 1.2em 0 0;
}

#ftrR dl dt {
    width: 130px;
    display: block;
    margin: 0 30px 20px 0;
    padding: 0;
    color: #fff;
    font-size: 1.1em;
    float: left;
    position: relative;
    top: -2px;
}

#ftrR dl dt span {
    width: 111px;
    display: block;
    background-color: #008bd2;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

#ftrR dl dd {
    width: 100%;
    display: block;
    margin: 0 0 0 0;
    padding: 0;
    float: none;
}

.ftr_time {
    /*width:360px; float:left; margin-right:20px;*/
}

.ftr_map {
    margin-bottom: 18px;
}

#footer p {
    font-size: 0.92em !important;
    line-height: 1.5em !important;
}

.ftr_time_p p:first-child {
    margin-top: 0.7em;
}

.ftr_time p {
    color: #867;
    margin-top: 0.4em;
    margin-bottom: 0.4em !important;
}

.ftr_time i {
    color: #b871c2;
    font-size: 1.1em;
}

/*
#ftrR p		{margin-bottom:0;line-height: 1.5em;}

#ftr_btn_access	{ margin:5px 0 0 0; }
#ftr_btn_access_wrapper	{ text-align: right;}
*/

#footer .nav_obi {
    width: 100%;
    height: 50px;
    background: #8fbc39;
    margin: 0 0 0 0;
}

.ftr_logo {
    width: 256px;
    height: 58px;
    margin: 5px auto;
}

#copyright {
    width: 100%;
    height: 40px;
    float: left;
    font-size: 0.8em;
    line-height: 40px;
    text-align: center;
    margin-bottom: 10px;
    color: #279d4f;
}

/* --------- main box --------- */

.box_cont {
    max-width: 1040px;
    margin: 0 auto;
    position: relative;
}

.box_all {
    width: 100%;
    margin: 0;
    position: relative;
}

section .box_half:nth-child(odd) {
    width: calc((100% - 40px) / 2);
    margin-right: 40px;
    float: left;
}

section .box_half:nth-child(even) {
    width: calc((100% - 40px) / 2);
    margin-right: 0px;
    float: left;
}

#breadcrumbs {
    position: absolute;
    top: -2em;
    /* for modan browser */
    text-shadow: 0px 3px 1px #fff, 0px 2px 1px #fff, 1px 2px 1px #fff, 2px 2px 1px #fff, 2px 1px 1px #fff, 2px 0px 1px #fff, 3px 0px 1px #fff, 2px -1px 1px #fff, 2px -2px 1px #fff, 2px -3px 1px #fff, 1px -3px 1px #fff, 0px -3px 1px #fff, -1px -3px 1px #fff, -2px -3px 1px #fff, -3px -3px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff, -3px 0px 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff, -2px 2px 1px #fff, -1px 2px 1px #fff;

    /* for IE */
    filter: dropshadow(color=#fff, offx=0, offy=3, positive=1), dropshadow(color=#fff, offx=2, offy=1, positive=1), dropshadow(color=#fff, offx=2, offy=-1, positive=1), dropshadow(color=#fff, offx=1, offy=-3, positive=1), dropshadow(color=#fff, offx=-2, offy=-3, positive=1), dropshadow(color=#fff, offx=-3, offy=-2, positive=1), dropshadow(color=#fff, offx=-3, offy=1, positive=1), dropshadow(color=#fff, offx=-1, offy=2, positive=1);
}


/* ● index  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#top_only_slide {
    position: relative;
    max-width: 1500px;
    margin: 0 auto;
    /* background:url(../img/index/slide_bg.png) no-repeat; background-size:contain; */
    overflow: hidden;
}

#ovr_txt {
    display: block;
    width: 1040px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 26%;
    margin: auto;
}

#ovr_txt img {
    width: 100%;
}

.slide_txt {
    position: absolute;
    left: calc(15% - 30px);
    top: 0;
}

/*
#top_only_main{max-width:1240px; margin:0 auto;}
*/

.index_case dl {
    display: block;
    width: 250px;
    border: solid 2px #eee;
    margin-right: 8px;
    float: left;
    background: #fff;
}

.index_case_04 {
    margin-right: 0 !important;
}

.index_case dl a {
    color: #444;
}

.index_case dl dt img {
    width: 100%;
}

.index_case dl dt {
    display: block;
    width: 250px;
    height: 188px;
    background-size: contain;
    position: relative;
}

.index_case dl dt h5 {
    display: block;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 1.1em;
    font-weight: bold;
}


.index_case dl dd {
    display: block;
    padding: 8px;
    height: 110px;
    font-size: 0.95em;
}


/*
.index_case dl dt		{display:block; width:250px; height:188px; background-size:contain; position:relative;}
.index_case dl dt h5		{display:block; text-align:center; position:absolute; bottom:0; left:0; right:0; margin:auto; font-size:1.1em; font-weight:bold;}
.index_case_01 dt		{background:url(../img/index/index_case_01.png) no-repeat; }
.index_case_02 dt		{background:url(../img/index/index_case_02.png) no-repeat; }
.index_case_03 dt		{background:url(../img/index/index_case_03.png) no-repeat; }
.index_case_04 dt		{background:url(../img/index/index_case_04.png) no-repeat; }

.index_case dl dd		{display:block; padding:8px; height: 110px; font-size: 0.95em;}
*/

#index_case_bg {
    display: block;
    width: 100%;
    height: 236px;
    background: url(../img/index/index_case_bg.jpg);
    position: absolute;
    bottom: 0;
    z-index: -1;
}










.shadow {
    /* for modan browser */
    text-shadow: 0px 3px 1px #ffffff, 0px 2px 1px #ffffff, 1px 2px 1px #ffffff, 2px 2px 1px #ffffff, 2px 1px 1px #ffffff, 2px 0px 1px #ffffff, 3px 0px 1px #ffffff, 2px -1px 1px #ffffff, 2px -2px 1px #ffffff, 2px -3px 1px #ffffff, 1px -3px 1px #ffffff, 0px -3px 1px #ffffff, -1px -3px 1px #ffffff, -2px -3px 1px #ffffff, -3px -3px 1px #ffffff, -3px -2px 1px #ffffff, -3px -1px 1px #ffffff, -3px 0px 1px #ffffff, -3px 1px 1px #ffffff, -3px 2px 1px #ffffff, -2px 2px 1px #ffffff, -1px 2px 1px #ffffff;

    /* for IE */
    filter: dropshadow(color=#ffffff, offx=0, offy=3, positive=1), dropshadow(color=#ffffff, offx=2, offy=1, positive=1), dropshadow(color=#ffffff, offx=2, offy=-1, positive=1), dropshadow(color=#ffffff, offx=1, offy=-3, positive=1), dropshadow(color=#ffffff, offx=-2, offy=-3, positive=1), dropshadow(color=#ffffff, offx=-3, offy=-2, positive=1), dropshadow(color=#ffffff, offx=-3, offy=1, positive=1), dropshadow(color=#ffffff, offx=-1, offy=2, positive=1);
}


#index_greeting .box_half {
    float: left;
    margin-right: 0;
}

#index_greeting .box_half:first-child {
    width: 270px !important;
}

#index_greeting .box_half:nth-child(2) {
    width: 500px !important;
    background: #fff;
    padding: 12px 0 0;
}

#index_greeting .box_half:last-child {
    width: 270px !important;
}

#index_greeting .box_cont {
    margin-bottom: 30px;
}

.gra_boxL,
.gra_boxR {
    width: 270px;
    position: relative;
}

.gra_boxL::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .7) 40%, rgba(255, 255, 255, 1) 80%);
}

.gra_boxR::after {
    position: absolute;
    top: 0;
    right: left;
    z-index: 2;
    content: '';
    width: 20%;
    height: 100%;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .7) 40%, rgba(255, 255, 255, 1) 80%);
}


#index_flower .box_half:nth-child(odd) {
    width: 480px;
    height: 300px;
    margin-right: 60px;
    float: left;
    background: url(../img/index/index_flower_bg.png) no-repeat;
    background-size: contain;
    position: relative;
}

#index_flower .box_half:nth-child(even) {
    width: 500px;
    height: 300px;
    margin-right: 0px;
    float: left;
    position: relative;
    background: url(../img/index/index_flower_bg_topic.png) no-repeat;
    background-size: contain;
    background-position-x: right;
    background-position-y: bottom;
}

#index_flower .box_half:nth-child(odd) a:first-child {
    display: block;
    width: 100%;
    height: 100%;
}

dl.index_ico_dl {
    display: block;
}

dl.index_ico_dl dt {
    display: block;
    width: 106px;
    height: 132px;
    position: relative;
    text-align: center;
    float: left;
}

dl.index_ico_dl dd {
    display: block;
    width: calc(100% - 106px);
    height: 132px;
    float: left;
    font-size: 0.95em;
    position: relative;
}

#index_flower_ico {
    font-size: 0.8em;
    display: block;
}

#index_flower_ico:before {
    display: block;
    content: " ";
    background: url(../img/index/index_ico_01.png);
    margin: 0px auto 10px;
    width: 80px;
    height: 80px;
    background-size: contain;
    position: relative;
}

#index_flower_ttl {
    display: block;
    color: #ea6200;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 6.5em;
}


#index_flower h2 {
    color: #eb6100;
    margin-bottom: 0.5em !important;
}

#index_flower .common_btn {
    background-color: #eb6100 !important;
}

#index_flower #topic {
    display: table;
    position: absolute;
    bottom: 0;
}

.ga_flower {
    display: table-cell;
    width: 225px;
    margin-right: 25px;
    float: left;
    vertical-align: bottom;
}

.topics_flower {
    display: table-cell;
    width: 250px;
    height: calc(100% - 60px);
    color: #333;
    vertical-align: bottom;
}

.topics_flower dt {
    display: block;
    margin-bottom: 0.3em;
    color: #eb6100;
    font-weight: bold;
    font-size: 1.2em;
}

.topics_flower dd {
    display: block;
    height: calc(100% - 40px);
    padding-bottom: 60px;
    position: relative;
}

.flower_more a {
    display: inline-block;
    position: absolute;
    left: 0;
    /*bottom: 0.7em;*/
    font-size: 0.8em;
    color: #eb6100;
}

.btn_flower {
    position: absolute;
    right: 0;
    bottom: 0;
}

#addition_flower {
    background: #fee;
    padding: 12px;
    margin-bottom: 30px;
    font-size: 0.85em;
}

#addition_flower .box_half:nth-child(odd) {
    width: 66%;
    margin-right: 0;
}

#addition_flower .box_half:nth-child(even) {
    width: calc(34% - 10px);
    margin-left: 10px;
}


#index_info .box_half:nth-child(odd) {
    width: 134px;
    height: 300px;
    margin: 0;
    position: relative;
}

#index_info .box_half:nth-child(even) {
    width: calc(100% - 134px);
    height: 300px;
    position: relative;
    clear: right;
}

/*
#index_info .box_half:nth-child(even) a dl{display:block; border-bottom:dotted 1px #638c0b;  padding:10px 15px; color:#050;}*/


#index_info .box_half:nth-child(even) a dl {
    display: block;
    float: left;
    width: 256px;
    border: double 3px #638c0b;
    margin-right: 15px;
    padding: 10px 15px;
    color: #050;
    background: #fff;
}

#index_info .box_half:nth-child(even) a:nth-child(3n) dl {
    margin-right: 0;
}

.topics {
    font-size: 0.9em;
    position: relative;
    min-height: 15em;
}

.topics:after {
    content: "";
    border-color: #fff #638c0b #638c0b #fff;
    border-style: solid;
    border-width: 0 0 24px 24px;
    bottom: 0;
    position: absolute;
    right: 0;
}

.topics dt {
    display: block;
    font-size: 1em;
}

.topics dd {
    display: block;
}

.topics dd span {
    display: block;
    font-weight: bold;
    border-bottom: dotted 1px #638c0b;
    padding: 0 0 8px 0;
    margin: 0 0 8px 0;
    font-size: 1em;
}


#index_info_ico {
    font-size: 0.8em;
    display: block;
}

#index_info_ico:before {
    display: block;
    content: " ";
    background: url(../img/index/index_ico_02.png);
    margin: 0px auto 10px;
    width: 80px;
    height: 80px;
    background-size: contain;
    position: relative;
}


#index_info h2 {
    color: #638c0b;
}

#index_info .common_btn {
    background-color: #638c0b !important;
}






#oshirase #topic a dl {
    display: block;
    margin: 0 0 10px 0;
    padding: 6px 0 15px 20px;
    position: relative;
    border-bottom: dotted 1px #008bd2;
}

#oshirase #topic a:first-child dl {
    padding-top: 0;
}

#oshirase #topic a:last-child dl {
    margin-bottom: 40px;
}



#oshirase #topic dl dt {
    display: block;
    width: 9em;
    margin-bottom: 0.2em;
    font-weight: bold;
    text-align: left;
    float: left;
    color: #1996D3 !important;
    position: relative;
    top: -0.1em;
}

#oshirase #topic dl dd {
    display: block;
    padding-left: 9.5em;
    color: #555 !important;
    line-height: 1.5em;
}

#oshirase #topic dl dd span {
    display: block;
    font-weight: bold;
    color: #555 !important;
    /*margin-bottom:0.2em;*/
}

#oshirase #topic a:hover dt {
    color: #91D2F2;
}

#oshirase #topic a:hover dd {
    color: #aaa;
}


section {
    padding: 20px 0 60px;
}

section.section2 {
    padding: 60px 0 60px;
}

section.section3 {
    padding: 60px 0 60px;
}

section.sectionGray {
    background: #f7f7f7;
}

section.sectionBdr {
    border-bottom: solid 1px #cacaca;
}








#about .box_half img {
    margin-bottom: 20px;
}




#indexActivity {
    background-image: url(../img/index/index_activity_bg.png);
}

#indexActivity:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    border-bottom: 358px solid #8fbc39;
}

#indexActivity div.box_all {
    z-index: 99;
}

.control a {
    color: #fff !important;
}

.control a:hover {
    color: #fff !important;
}

.control a:visited {
    color: #fff !important;
}


.control .next {
    float: right;
}

#carouselara {
    margin: 0 0 40px;
    width: 100% !important;
}

#carouselara li {
    display: block;
    width: 320px;
    padding: 0 13px;
    height: auto !important;
}

#carouselara li img {
    width: 320px;
    height: auto;
    border: none;
}

#carouselara li a {
    color: #555 !important;
}

#carouselara li div {
    padding: 1.5em;
    background: #fff;
    min-height: 12em;
}


#carouselara ul li h5 {
    color: #527511;
    font-weight: bold;
    font-size: 1.2em;
    min-height: 4.2em;
}

#carouselara ul li h5 span {
    display: block;
}

#carouselP {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: absolute;
    left: -3em;
    top: calc(160px - 1.5em);
    z-index: 999;
}

#carouselN {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: absolute;
    right: -3em;
    top: calc(160px - 1.5em);
    z-index: 999;
}




/* ● block_renew  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
.block1 {
    padding: 10px 0 50px;
}

.block2 {
    background: #EEFAFF;
    padding: 50px 0;
    position: relative;
}

.block2:before {
    content: url(../img/common/common_bg_before.png);
    width: 824px;
    margin: 0 auto;
    display: block;
    transform: scale(0.5);
    position: absolute;
    left: 0;
    right: 0;
    top: -25px;
}


.block2:after {
    content: url(../img/common/common_bg_after1.png);
    width: 824px;
    margin: 0 auto;
    display: block;
    transform: scale(0.5);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -64px;
    z-index: 999;
}

.block3 {
    padding: 10px 0 50px;
}

.kome {
    font-size: 0.9em !important;
    line-height: 1.4em !important;
    padding-left: 1.3em;
    text-indent: -1.3em;
}

.after_img {
    margin-top: 1em;
}

p.caption {
    padding: 0.5em 0;
    font-size: 0.8em;
    margin-bottom: 0;
    font-weight: bold;
    text-align: center;
}





/* ● よくある質問  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */




#question {
    width: 980px;
    margin: auto;
}

#question dl {
    border-bottom: dashed 1px #afdc59;
    margin: 40px 0 0 0;
    padding: 0 0 40px 0;
}

#question dl:last-child {
    border-bottom: none;
    padding-bottom: 80px;
}

#question dl dt {
    color: #8fbc39;
    margin-bottom: 20px;
    padding-left: 58px;
    text-indent: -57px;
}

#question dl dt:first-letter {
    background-color: #8fbc39;
    color: #ffffff;
    padding: 5px 15px;
    font-size: 1.8em;
    font-weight: bold;
    border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
}

#question dl dd {
    color: #22964d;
    margin-left: 60px;
    padding-left: 58px;
    text-indent: -57px;
}

#question dl dd:first-letter {
    background-color: #22964d;
    color: #ffffff;
    padding: 4px 15px;
    font-size: 1.8em;
    font-weight: bold;
    border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
}

#question dl dd span {
    display: inline-block;
    padding-left: 3.6em;
    position: relative;
    top: -0.5em;
}

/* ● リンク  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */


#link .box_half:nth-child(even) {
    width: calc(40% - 30px);
    height: 760px;
    margin-right: 30px;
    float: left;
    background: url(../img/link/link_img_01.jpg) no-repeat;
    background-size: cover;
}

#link .box_half:nth-child(odd) {
    width: 60%;
    margin-right: 0px;
    float: left;
}


#links dl {
    border-bottom: dashed 1px #afdc59;
    margin: 5px 0 0 0;
    padding: 0 0 18px 0;
}

#links dl:last-child {
    border-bottom: none;
    padding-bottom: 80px;
}

#links dl dt {
    color: #8fbc39;
    font-weight: bold;
    font-size: 1.1em;
}

#links dl dt:after {
    content: '\f0a9';
    font-family: FontAwesome;
    margin-left: 0.3em;
    font-size: 1.6em;
    position: relative;
    top: 0.1em;
}

#links dl dd {
    color: #555;
    font-size: 0.95em;
}


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


.telnbr {
    width: calc(80% - 56px);
    border: solid 3px #8fbc39;
    padding: 10px 25px;
    font-size: 5em;
    color: #22964d;
    font-weight: bold;
    text-align: center;
    margin: 30px auto 50px;
    position: relative;
}

.telnbr_inner {
    font-size: 1.2rem;
    font-weight: normal;
    width: 36.5em;
    margin: 0 auto;
    text-align: left;
}

#index .telnbr_inner {
    margin: 0.7em 0 0 0;
    width: 100%;
}

#index .telnbr_inner p {
    color: #867;
}

#index .telnbr_inner i {
    color: #b871c2;
    font-size: 1.8em;
    position: relative;
    top: 0.15em;
}

.telnbr_inner dl {
    width: 100%;
    display: block;
    margin: 5px 0 5px 0;
    /* margin: 15px 0 10px 0; */
    padding: 0;
}

.telnbr_inner dl dt {
    width: 130px;
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    float: left;
    position: relative;
    top: -2px;
}

.telnbr_inner dl dt span {
    width: 111px;
    display: block;
    background-color: #279d4f;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    text-align: center;
    color: #FFF;
}

.telnbr_inner dl dd {
    width: calc(100% - 130px);
    display: block;
    margin: 0 0 0 0;
    padding: 0;
    float: left;
}

.contact_block {
    width: 80%;
    margin: 20px auto 0;
}

i.notice_pdoctor {
    float: left;
    margin-right: 0.3em;
    color: #36c;
}

p.notice_pdoctor {
    display: inline-block;
    margin: 1.5em 0 0 0;
    color: #555;
}

p.notice_pdoctor b {
    color: #36c;
}

/* ● アクセス  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#access_howto .box_half:nth-child(odd) {
    width: calc((100% - 30px) / 2);
    margin-right: 30px;
    float: left;
    position: relative;
}

#access_howto .box_half:nth-child(even) {
    width: calc((100% - 30px) / 2);
    margin-right: 0px;
    float: left;
    height: 379px;
    background: url(../img/access/access_howto_bg.png) no-repeat;
    background-size: contain;
    background-position-x: right;
    background-position-y: bottom;
}

#markup {
    width: 11em;
    text-align: center;
    font-size: 1.2em;
    background: #22964d;
    color: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 4em;
    margin: auto;
}

#markup:after {
    border-top: 12px solid #22964d;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    content: '';
    margin-left: -10px;
    position: absolute;
    bottom: -12px;
    left: 50%;
}


dl.traffic {
    display: table;
    width: 100%;
    border-bottom: solid 1px #8fbc39;
    min-height: 80px;
    padding: 12px 0;
    font-size: 1em;
}

dl.traffic:last-child {
    border: none;
}

dl.traffic dt {
    display: table-cell;
    width: 35%;
    padding-right: 2%;
    color: #22964d;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}

dl.traffic dt i {
    color: #8fbc39
}

dl.traffic dd {
    display: table-cell;
    padding-right: 0.3em;
    color: #555;
    vertical-align: middle;
}


.map {
    width: 100%;
    height: 420px;
    margin-bottom: 15px;
}

#access_btn_map {
    text-align: right;
    margin: 1em 2em;
}

.access_img {
    margin-top: 40px;
}


/* ● ドクター紹介  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#doctor_msg {
    width: calc((100% - 40px) / 2);
    margin-right: 40px;
    float: left;
}

#doctor_pic {
    width: calc((100% - 40px) / 2);
    margin-right: 0px;
    float: left;
}

#doctor_keireki {
    margin: 40px auto 50px;
}


.doctor_keireki {
    background: #efd;
    padding: 1em 1.5em;
}

.doctor_keireki dl.level1 {
    width: 100%;
    display: block;
    margin: 0 0 30px 0;
}

.doctor_keireki dl.level1:nth-of-type(3) {
    margin-bottom: 0;
}

.doctor_keireki dl.level1>dt {
    display: block;
    margin: 0 0 1em 0;
    padding: 0;
    color: #22964d;
    font-size: 1.3em;
    float: none;
    position: relative;
    text-align: center;
    border-bottom: solid 1px #685;
    font-weight: bold;
    letter-spacing: 0.3em;
}

/*
.doctor_keireki dl.level1 > dt		{ display:block; margin:0 0 1em 0; padding:0; color:#fff; font-size:1em; float:none;position: relative; top: -2px;}
.doctor_keireki dl.level1 > dt > span	{ display: block; background-color: #7bbd35; -moz-border-radius: 14px; -webkit-border-radius: 14px; border-radius: 14px; text-align: center; color: #FFF;}
*/
.doctor_keireki dl.level1>dd {
    width: calc(100% - 30px);
    display: block;
    margin: 0 auto;
    padding: 0;
    float: none;
}

.doctor_keireki dl.level2 {
    width: 100%;
    display: block;
    margin: 0 0 25px 0;
}

.doctor_keireki dl.level2>dt {
    display: block;
    margin: 0 30px 0 0;
    padding: 0;
    color: #22964d;
    font-size: 1em;
    float: left;
    position: relative;
    top: -2px;
}

.doctor_keireki dl.level2>dt>span.t {
    width: 160px;
    display: block;
    background-color: #7bbd35;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

.doctor_keireki dl.level2>dt>span.t>span {
    display: none;
}

.doctor_keireki dl.level2>dd {
    display: block;
    margin: 0 0 0.6em 0;
    padding: 0 1em;
    position: relative;
}


.doctor_stfmsg {
    background: #fed;
    padding: 1em 1.5em;
    margin-top: 1.1em;
}

.doctor_stfmsg h3 {
    display: block;
    margin: 0 0 1em 0;
    padding: 0;
    color: #96554d;
    font-size: 1.3em;
    float: none;
    position: relative;
    text-align: center;
    border-bottom: solid 1px #865;
    font-weight: bold;
    letter-spacing: 0.3em;
}

.pdoctor_intro {
    display: block;
    height: 2em;
    line-height: 2.2em;
    margin: 0 auto 40px;
    text-align: center;
    background: #22964d;
    color: #fff;
}

.pdoctor_intro2 {
    display: block;
    padding: 0.5em 1em;
    /* width: 95%; */
    /* height: 2em; */
    line-height: 1.5em;
    margin: 0 auto 40px;
    text-align: center;
    background: #22964d;
    color: #fff;
}

.pdoctor_read {
    display: block;
    width: calc(100% - 4em);
    padding-bottom: 1.5em;
    margin: 0 auto;
}

.doctor_technologist br {
    display: inline;
}

#pdoctor_keireki {
    width: calc((100% - 40px) / 2);
    margin-right: 40px;
    float: left;
}

#pdoctor_pic {
    width: calc((100% - 40px) / 2);
    margin-right: 0px;
    float: left;
}

.pdoctor {}

.pdoctor dl.level1 {
    width: 100%;
    display: block;
    margin: 0 0 30px 0;
}

.pdoctor dl.level1:nth-of-type(3) {
    margin-bottom: 0;
}

.pdoctor dl.level1>dt {
    display: block;
    margin: 0 0 1em 0;
    padding: 0;
    color: #22964d;
    font-size: 1.3em;
    float: none;
    position: relative;
    text-align: center;
    border-bottom: solid 1px #685;
    font-weight: bold;
    letter-spacing: 0.3em;
}

.pdoctor dl.level1>dd {
    width: calc(100% - 30px);
    display: block;
    margin: 0 auto;
    padding: 0;
    float: none;
}

.pdoctor dl.level1>dd.pdoctor {
    font-size: 1.2em;
    text-align: center;
}

.pdoctor dl.level2 {
    width: 100%;
    display: block;
    margin: 0 0 25px 0;
}

.pdoctor dl.level2>dt {
    display: block;
    margin: 0 30px 0 0;
    padding: 0;
    color: #22964d;
    font-size: 1em;
    float: left;
    position: relative;
    top: -2px;
}

.pdoctor dl.level2>dt>span.t {
    width: 170px;
    font-size: 0.9em;
    display: block;
    background-color: #7bbd35;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

.pdoctor dl.level2>dt>span.t>span {
    font-size: 0.6em;
}

/*.pdoctor dl.level2 > dd		{ display:block; margin:0 0 0.6em 0; padding:0 0.5em; position: relative; border:1px solid #000; } */
.pdoctor dl.level2>dd {
    display: block;
    margin: 0 0 0.6em 0;
    padding: 0 0.5em 0 200px;
}

/* ● 初診の方  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */




#first_towards dl.level1 {
    width: calc(100% - 30px);
    display: block;
    margin: 0 0 10px 30px;
}

#first_towards dl.level1>dt {
    display: block;
    margin: 0 20px 0 0;
    padding: 0;
    color: #22964d;
    font-size: 1em;
    float: left;
    position: relative;
    top: -2px;
}

#first_towards dl.level1>dt>span {
    width: 190px;
    font-size: 0.9em;
    display: block;
    background-color: #7bbd35;
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
    border-radius: 14px;
    text-align: center;
    color: #FFF;
}

#first_towards dl.level1>dd {
    display: block;
    margin: 0 0 0.6em 0;
    padding: 0 0.5em;
    position: relative;
}



.first_pdf {
    background: #7bbd35;
    padding: 0.5em 1em;
    margin: 3em 0 0 0;
}

.first_pdf a {
    display: block;
}

#pdf_f {
    float: left;
    width: calc(100% - 160px - 0.5em);
    margin-right: 0.5em;
    color: #fff;
}

#pdf_i {
    float: right;
    width: 160px;
    margin: 0.5em 0;
}

#pdf_f h5 {
    font-weight: bold;
}

#pdf_f p {
    padding-left: 4em;
}

.flow {
    margin-bottom: 50px;
}

.flow .box_half:nth-child(odd) {
    float: left;
    width: 340px !important;
    padding-right: 30px !important;
    margin-top: 0px !important;
    margin-right: 0 !important;
}

.flow .box_half:nth-child(even) {
    float: left;
    width: calc(100% - 370px) !important;
    margin-top: 0px !important;
}

.online .box_half:nth-child(odd) {
    float: left;
    width: 160px !important;
}

.online .box_half:nth-child(even) {
    width: calc(100% - 190px) !important;
}

.flow .box_half h3 {
    color: #8fbc39;
    border-bottom: dashed 1px #8fbc39;
    font-size: 1.4em;
    font-weight: bold;
    padding-bottom: 8px;
    text-align: left;
    margin-bottom: 0.7em;
}

.flow .box_half h3:first-letter {
    background-color: #8fbc39;
    color: #ffffff;
    padding: 0 13px;
    font-size: 1.4em;
    font-weight: bold;
    border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
}

.flow .box_half p {
    margin: 0 0 0.6em 0;
    color: #555;
}

.flow .box_half p.kome {
    margin: -0.8em 0 0.6em 0;
    color: #555;
}


/* ● クリニック紹介  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#clinic_rinen_ara {
    width: 100%;
    padding: 40px 0 50px;
    background: #faffde;
    text-align: center;
    position: relative;
    background-image: url(../img/clinic/clinic_rinen_symbol.png);
    background-repeat: no-repeat;
    background-position-x: 14.5em;
    background-position-y: 10em;
    background-size: 10%;
}

#clinic_rinen_ara h2 {
    color: #22964d;
    text-align: center;
    padding-top: 10px;
    font-size: 1.7em;
    font-weight: bold;
    margin-bottom: 20px;
}

#clinic_rinen_ara p {
    text-align: center !important;
    margin-bottom: 0 !important;
    font-size: 1.2em;
}


.policyL h5 {
    display: block;
    border-bottom: dotted 1px #8fbc39;
    margin: 0 0 1em 0;
    padding: 0 0.5em 1em 1em;
    text-align: left;
    font-size: 1.1em;
    text-indent: -0.35em;
}

.policyL h5 i {
    color: #8fbc39;
}

.clinic_service,
a .clinic_service {
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border: none;
    background: #F2F2EA;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 2em;
}

.clinic_service tr th,
a .clinic_service tr th {
    color: #fff;
    background: #22964d;
    font-size: 1.1em;
    padding: 24px 10px;
    text-align: center;
    position: relative;
    width: 200px;
    height: auto;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-border-top-left-radius: 10px;
    -moz-border-radius-topleft: 10px;
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-radius-bottomleft: 10px;
    -webkit-border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
}

.clinic_service tr td,
a .clinic_service tr td {
    padding: 15px 20px;
}


.clinic_service tr td p {
    color: #444;
    margin-bottom: 0;
}

.clinic_service tr td span.b {
    display: block;
    margin-top: 0.7em;
}


dl.kamoku dt {
    display: block;
    width: 5.5em;
    float: left;
    clear: left;
    margin-top: 1.0em;
    margin-right: 10px;
    font-weight: bold;
    text-align: left;
    color: #59b9d5;
}

dl.kamoku dd {
    margin-top: 1.1em;
    text-align: left;
    font-size: 0.9em;
    display: inline-block;
    float: left;
}

.box_list_clinic .box_half {
    min-height: 400px;
}

.box_list_clinic2 .box_half {
    min-height: 500px !important;
}

.box_list_clinic .box_half:nth-child(1n) {
    width: calc((100% - 60px) / 3);
    margin-right: 30px;
    float: left;
}

.box_list_clinic .box_half:nth-child(2n) {
    width: calc((100% - 60px) / 3);
    margin-right: 30px;
    float: left;
}

.box_list_clinic .box_half:nth-child(3n) {
    width: calc((100% - 60px) / 3);
    margin-right: 0px;
    float: left;
}



h3.clinic {
    color: #22964d;
    font-size: 1.2em;
    font-weight: bold;
    display: block;
    border-bottom: dotted 2px #22964d;
    margin: 8px 0;
    padding: 0 0 8px 0;
}


#clinic_dev_ara {
    width: 800px;
    padding: 0.7em 40px 10px;
    background: #efd;
    text-align: left;
    margin: 20px auto;
}

.clinic_dev {
    border-bottom: dotted 1px #888;
    width: 100%;
    margin-bottom: 0.7em;
}

.clinic_dev tr th {
    font-size: 1.1em;
    text-align: left;
    position: relative;
    width: 200px;
    height: auto;
    top: 0;
    bottom: 0;
    margin: auto;
}

.clinic_dev tr td {
    padding: 5px 10px 0.7em;
}


.clinic_dev tr td p {
    color: #444;
    margin-bottom: 0;
}


/* ● 診療のご案内  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#treat .clinic_service,
a .clinic_service {
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border: none;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 2em;
}

.treat_pmkr {
    background: #fed;
    padding: 1em 1.5em;
    margin-top: 1.1em;
}

.treat_pmkr h3 {
    display: block;
    margin: 0 0 1em 0;
    padding: 0;
    color: #96554d;
    font-size: 1.3em;
    float: none;
    position: relative;
    text-align: center;
    border-bottom: solid 1px #865;
    font-weight: bold;
    letter-spacing: 0.3em;
}

.child {
    display: block;
}

.bar_midashi {
    border-radius: 8px 8px 0px 0px / 8px 8px 0px 0px;
    -webkit-border-radius: 8px 8px 0px 0px / 8px 8px 0px 0px;
    -moz-border-radius: 8px 8px 0px 0px / 8px 8px 0px 0px;
    background: #99CCFF;
    color: #fff;
    padding: 8px 5px 8px 1em;
    margin: 0 0 5px;
}

.bar_midashi2 {
    background: #279d4f;
    color: #fff;
    font-size: 1.1em;
}

.bar_midashi3 {
    background: #59b;
    color: #fff;
    font-size: 1.1em;
    margin: 5px 0 20px;
}


.bar_midashi a {
    display: block;
    padding-right: 30px;
    pointer-events: none;
}

.bar_midashi a:hover {
    color: #fff !important;
    cursor: pointer;
}

.bar_midashi i {
    margin-right: 0.4em;
}

.treat_point {
    display: table;
    width: calc(100% - 4em);
    padding: 1em;
    background: #c1def4;
    clear: left;
    margin: 1em 2em 1em auto;
}

.treat_point .box_half:nth-child(odd) {
    display: table-cell;
    float: none;
    width: calc(60% - 40px);
    margin-right: 40px;
}

.treat_point .box_half:nth-child(even) {
    display: table-cell;
    float: none;
    width: 40%;
    vertical-align: middle;
}



.treat_bdr {
    border: solid 2px #279d4f;
    background: #fff;
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
    margin-bottom: 40px;
}





.box_inner {
    width: 90%;
    margin: 0 auto 30px;
    position: relative;
}

.treat_acd_inner dl {
    width: 100%;
    display: block;
    margin: 0.5em 0 1em 0;
    /*margin:15px 0 10px 0;*/
    padding: 0 0 1em 0;
    border-bottom: dotted 2px #ccc;
}

.treat_acd_inner dl:last-child {
    border: none;
}

.treat_acd_inner dl dt {
    width: 180px;
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    float: left;
    position: relative;
    top: -4px;
}

.treat_acd_inner dl dt span {
    display: block;
    background-color: #279d4f;
    -moz-border-radius: 16px;
    -webkit-border-radius: 16px;
    border-radius: 16px;
    text-align: center;
    color: #FFF;
}

.treat_acd_inner dl dd {
    width: calc(100% - 210px);
    display: block;
    margin: 0 0 0 30px;
    padding: 0;
    float: left;
    line-height: 1.6em;
}

.treat_acd_inner dl dd p b {
    display: block;
    margin-bottom: 0.3em;
    color: #279d4f;
}

.oushin_flow .box_half:nth-child(odd) {
    width: 25%;
    margin-right: 40px;
    float: left;
}

.oushin_flow .box_half:nth-child(even) {
    width: calc(75% - 40px);
    margin-right: 0px;
    float: left;
    position: relative;
}

#oushin_tel {
    font-size: 1.6em;
    color: #279d4f;
    border: solid 2px #8fbc39;
    padding: 2px 1em;
    position: absolute;
    right: 0;
    top: 0px;
}

.box_half dl.treat_exp {
    display: block;
    margin-bottom: 2em;
    background: #fff;
    padding: 0.6em;
}

.box_half dl.treat_exp:last-child {
    margin-bottom: 0;
}

.box_half dl.treat_exp dt {
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    border-bottom: dotted 2px #8fbc39;
    color: #8fbc39;
    text-align: center;
    margin: 0 0 0.5em;
    padding: 0 0 0.3em;
}

.box_half dl.treat_exp dd {
    display: block;
    padding: 0 1em;
}

.treat_nsmok .box_half:nth-child(odd) {
    width: 16%;
    margin-right: 0;
    float: left;
    text-align: center;
    position: relative;
}

.treat_nsmok .box_half:nth-child(even) {
    width: 16%;
    margin-right: 0;
    float: left;
    text-align: center;
    position: relative;
}

.treat_nsmok .box_half dl {
    position: relative;
}

.treat_nsmok .box_half dl dt {
    display: block;
    font-weight: bold;
    margin: 1em 0 0.5em;
}

.treat_nsmok .box_half dl dd {
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    padding: 0.3em 0;
    font-weight: bold;
    color: #fff;
}

.treat_nsmok .box_half dl dd div {
    width: 55%;
    height: 48px;
    font-size: 0.8em;
    background: #fff;
    margin: 0.5em auto;
    text-align: center;
    color: #444;
    padding: 0.3em 0.95em 0.1em;
}

.treat_nsmok1l {
    line-height: 44px;
}

.treat_nsmok2l {
    line-height: 22px;
}

.treat_nsmok .box_half:first-child dl dd {
    background: #FFAD33;
    border: solid 3px #FFD633;
}

.treat_nsmok .box_half:nth-child(2) dl dd {
    background: #FF8330;
    border: solid 3px #FFAD33;
}

.treat_nsmok .box_half:nth-child(3) dl dd {
    background: #FF8330;
    border: solid 3px #FFAD33;
}

.treat_nsmok .box_half:nth-child(4) dl dd {
    background: #FF8330;
    border: solid 3px #FFAD33;
}

.treat_nsmok .box_half:nth-child(5) dl dd {
    background: #FF6600;
    border: solid 3px #FF9900;
}

.treat_nsmok .box_half.next {
    padding-right: 5%;
}

.treat_nsmok .box_half.next:after {
    content: "\f101";
    font-family: FontAwesome;
    font-size: 3em;
    color: #ddd;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 0.9em;
    height: 1em;
}

dl.treat_mukokyu_shojo {
    display: table;
}

dl.treat_mukokyu_shojo dt {
    display: table-cell;
    width: 15%;
    vertical-align: middle;
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
}

dl.treat_mukokyu_shojo.nos1 dt {
    background: #deffee;
}

dl.treat_mukokyu_shojo.nos2 dt {
    background: #ffdeee;
}

dl.treat_mukokyu_shojo dd {
    display: table-cell;
    width: 85%;
}

dl.treat_mukokyu_shojo dd ol li span {
    display: block;
    font-weight: bold;
}

dl.treat_mukokyu_shojo.nos1 dd {
    background: #fafffa;
}

dl.treat_mukokyu_shojo.nos2 dd {
    background: #fffafa;
}


.treat_mukokyu_kakomi {
    border: solid 12px #96224d;
    margin: 2em 0 4em;
    ;
}

.treat_mukokyu_kakomi h5 {
    display: block;
    background: #96224d;
    color: #fff;
    padding: 0.2em 0 0.5em !important;
    text-align: center;
}

.treat_mukokyu_kakomi dl {
    display: block;
    padding: 0 1.6em 1.6em;
}

.treat_mukokyu_kakomi dl dt {
    display: block;
    padding: 1.6em 0 0 0;
    font-size: 1.2em;
    font-weight: bold;
    color: #a6426d;
    border-bottom: dotted 2px #96224d;
}

.treat_mukokyu_kakomi dl dd {
    display: block;
    margin-top: 0.2em;
}

.sas_flow {
    position: relative;
}

.sas_flow .box_half:nth-child(odd) {
    width: 32%;
    margin-right: 40px;
    float: left;
}

.sas_flow .box_half:nth-child(even) {
    width: calc(68% - 40px);
    margin-right: 0px;
    float: left;
}

.sas_flow.next .box_half:nth-child(even):after {
    content: "\f103";
    font-family: FontAwesome;
    font-size: 3em;
    color: #ddd;
    position: absolute;
    bottom: 0;
    left: 1.2em;
    margin: auto;
    width: 0.9em;
    height: 1em;
}


.sas_flow_img .box_half:nth-child(odd) {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.sas_flow_img .box_half:nth-child(even) {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.sas_flow_img .box_half:last-child {
    margin-right: 0px !important;
}

/*
.menu{position:relative;}
.menu:after { font-family: sans-serif;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -14px;
    content: '>';
    font-size: 14px;
    font-weight: bold;
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -moz-transition: all, 0.25s, linear;
    -o-transition: all, 0.25s, linear;
    -webkit-transition: all, 0.25s, linear;
    transition: all, 0.25s, linear;
}

.menu.active:after {
    -moz-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
*/
.whatsW {}

.whatsR {
    width: 93%;
    margin: 20px 3.5% 20px 3.5%;
    text-align: left;
    font-size: 1em;
    position: relative;
}

ul.treat_innerlist {
    display: inline-block;
    padding: 1em;
    background: #fed;
    clear: left;
    margin: 1em auto 1em 0;
}

ul.treat_innerlist2 {
    display: inline-block;
    padding: 1em;
    background: #ecc;
    clear: left;
    margin: 1em auto 1em 0;
}

ul.treat_innerlist li,
ul.treat_innerlist2 li {
    list-style: none;
    padding-left: 1em;
    text-indent: -1em;
    list-style-position: inside;
}

ul.treat_innerlist li:before {
    font-family: FontAwesome;
    content: '\f06e';
    margin-right: 0.4em;
    font-size: 1.6em;
    line-height: 1.1em;
    color: #753;
}

ul.treat_innerlist2 li:before {
    font-family: FontAwesome;
    content: '\f2a8';
    margin-right: 0.4em;
    font-size: 1.6em;
    line-height: 1.1em;
    color: #c00;
}

.btn_right {
    margin: 1em;
    text-align: right;
}

.btn_wrapper {
    margin: 1em 0;
}

.btn_mB {
    margin-bottom: 0.7em;
}

.innerlist_block {
    display: block;
    margin: 2em 0 0 0;
}

.innerlist_block .box_half:nth-child(odd) {
    width: 22% !important;
    margin-right: 30px;
}

.innerlist_block .box_half:nth-child(even) {
    width: calc(78% - 30px) !important;
}

.btn_inner {
    /*position:absolute; bottom:0; left:calc(22% + 30px);*/
    font-size: 0.88em;
    margin: 0.2em 0 0.5em;
}

.common_btn span:after {
    top: 1.5px !important;
}

.treat_b {
    display: block;
    font-weight: bold;
    color: #1B96D5;
    font-size: 1.2em;
}

#ara_03A,
#ara_03B,
#ara_03C,
#ara_03D,
#ara_04A,
#ara_04B {
    font-size: 1em;
}

.border_B3 {
    margin-bottom: 20px;
    padding-bottom: 20px;
}



/* ● topiclist  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.block_list {
    width: calc((100% - 120px) / 3);
    float: left;
    margin: 0 20px 3em;
}

.block_list a {
    display: block;
}

.block_list h5 {
    display: block;
    text-align: center;
    font-weight: bold;
    color: #444;
    margin: 1em 0 0.5em;
    border-bottom: dotted 2px #ddd;
    padding-bottom: 0.2em;
}

.block_list p {
    color: #777;
}


/* ● topic soundb  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

section#topic_soundb>.box_half:nth-child(odd) {
    width: calc(20% - 40px);
    margin-right: 40px;
    float: left;
}

section#topic_soundb>.box_half:nth-child(even) {
    width: 80%;
    margin-right: 0px;
    float: left;
}

.topic_soundb_img01_ttl {
    display: block;
    width: 211px;
    height: 51px;
    margin: 40px auto;
    position: relative;
}

.topic_soundb_img01_sub {
    display: block;
    width: 85px;
    height: 58px;
    position: absolute;
    bottom: 20px;
    right: -100px;
}

#soundb_flow {
    background: url(../img/index/index_case_bg.jpg);
    padding: 1em 3em;
    margin-bottom: 3em;
}

#soundb_flow>.box_half:nth-child(odd) {
    width: calc((100% - 40px) / 2);
    margin: 1em 40px 1em 0;
    float: left;
}

#soundb_flow>.box_half:nth-child(even) {
    width: calc((100% - 40px) / 2);
    margin: 1em 0 1em 0;
    float: left;
}

#soundb_flow>.box_half>p {
    padding-right: 1.5em;
    padding-left: 2.6em;
    text-indent: -2.6em;
    line-height: 24px;
    margin: 0.5em auto;
}

#soundb_flow>.box_half>p>span {
    font-size: 2.2em;
    font-weight: bold;
    color: #279d4f;
    position: relative;
    top: 0.15em;
    text-indent: -1em;
}

.matome {
    background-image: url(../img/index/index_activity_bg.png);
    padding: 1em 2em;
    margin-bottom: 3em;
}

.matome>p {
    color: #22964d;
}


/* ● topic setsugu  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.topic_setsugu_kakomi {
    width: 70%;
    background-color: #ffe2e5;
    background-image: url(../img/topic/topic_setsugu_bg.png);
    padding: 2em;
    margin: 1em auto 2em 0;
    position: relative;
}

.topic_setsugu_kakomi:after {
    content: "";
    display: block;
    width: 180px;
    height: 351px;
    margin: 0;
    background: url("../img/topic/topic_setsugu_pen.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 4em;
    right: -160px;
}

.topic_setsugu_img01 {
    display: inline-block;
    width: 215px;
    height: 220px;
    margin: 0 0 0.1em 1em;
    float: right;
    border: solid 10px #fff;
}

.topic_setsugu_img02 {
    display: block;
    width: 635px;
    height: 380px;
    margin: 0 auto;
    float: none;
    border: solid 10px #fff;
}

.topic_setsugu_kakomi p {
    line-height: 1.6em;
    margin-bottom: 1em;
}


/* ● topic kanwacare  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.kanwacare_A {
    display: block;
    margin: 5em auto;
    text-align: center;
    position: relative;
}

.kanwacare_A:before {
    content: "";
    display: block;
    width: 655px;
    height: 7px;
    margin: auto;
    background: url("../img/topic/topic_kanwacare_hr.jpg") no-repeat;
    background-size: contain;
    position: absolute;
    top: -3em;
    left: 0;
    right: 0;
}

.kanwacare_A:after {
    content: "";
    display: block;
    width: 655px;
    height: 7px;
    margin: auto;
    background: url("../img/topic/topic_kanwacare_hr.jpg") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -3em;
    left: 0;
    right: 0;
}

.kanwacare_sheet {
    display: inline-block;
    width: 224px;
    height: 200px;
    margin: 0 2em 0 0;
    float: left;
}

.kanwacare_B {
    display: block;
    margin: 5em auto;
    text-align: center;
    position: relative;
}

.kanwacare_B:before {
    content: "";
    display: block;
    width: 655px;
    height: 7px;
    margin: auto;
    background: url("../img/topic/topic_kanwacare_hr.jpg") no-repeat;
    background-size: contain;
    position: absolute;
    top: -3em;
    left: 0;
    right: 0;
}

.kanwacare_B:after {
    content: "";
    display: block;
    width: 655px;
    height: 7px;
    margin: auto;
    background: url("../img/topic/topic_kanwacare_hr.jpg") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -3em;
    left: 0;
    right: 0;
}





/* ● topic message  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

#note {
    margin: 7em auto 3em;
    padding: 0 3em 3em;
    position: relative;
    background-color: #fffffa;
    background-image:
        linear-gradient(rgba(153, 204, 255, .3) .1em, transparent .1em);
    background-size: 100% 2em;
}

#note:before {
    content: '';
    position: absolute;
    top: -4em;
    left: 0;
    width: 100%;
    height: 4em;
    background-color: #fffffa;
    background-image:
}

#note>p {
    line-height: 2em;
    margin: 0 0 2em;
    font-size: 16px;
}

#note>p:first-letter {}


#sign {
    display: block;
    width: 360px;
    margin: 0 0 0 auto;
    padding-top: 0.9em;
}




/* ● topic inturn  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */

.ttl_wrapper {
    display: block;
    text-align: center;
    margin-bottom: 2em;
    position: relative;
}

#topic_inturn h3 {
    display: inline;
    text-align: center;
    font-size: 1.3em;
    color: #777;
    position: relative;
}

#topic_inturn h3:after {
    content: "\f040";
    font-family: FontAwesome;
    /* width: 30px; */
    /* height: 30px; */
    color: #8fbc39;
    display: inline;
    position: relative;
    margin: auto;
    left: 20px;
    bottom: 0;
    top: 0;
    font-size: 1.3em;
}

.ttl_wrapper2 {
    border-top: solid 4px #8fbc39;
    padding-top: 2em;
    margin-top: 3em;
}

.ttl_wrapper2:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-width: 24px;
    border-style: solid;
    border-color: transparent;
    border-top-color: #8fbc39;
}

.ttl_wrapper2:after {
    content: " ";
    position: absolute;
    top: -4px;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-width: 22px;
    border-style: solid;
    border-color: transparent;
    border-top-color: #fff;
    z-index: 1;

}


.intern-rightS {
    display: block;
    width: calc(100% - 320px - 2em);
    margin: 0 0 1em 1em;
    float: left;
}

.intern-leftS {
    display: block;
    width: calc(100% - 280px - 2em);
    margin: 0 1em 1em 0;
    float: left;
}

.intern-leftSR {
    display: block;
    width: calc(100% - 280px - 2em);
    margin: 0 1em 1em 0;
    float: right;
}

.intern-rightP {
    display: block;
    width: 280px;
    height: 210px;
    margin: 0 0 1em 1em;
    float: left;
}

.intern-leftP {
    display: block;
    width: 320px;
    height: 240px;
    margin: 0 1em 1em 0;
    float: left;
}

.intern-rightP2 {
    display: block;
    width: 250px;
    margin: 0 0 1em 1em;
    float: left;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-rightP2R {
    display: block;
    width: 250px;
    margin: 0 0 1em 1em;
    float: right;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-rightP2019R {
    display: block;
    width: 250px;
    margin: 0 0 0 1em;
    float: right;
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-leftP2 {
    display: block;
    width: 250px;
    margin: 0 1em 1em 0;
    float: left;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-leftP2_2 {
    display: block;
    width: 40%;
    margin: 0 4em 1em 0;
    float: left;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}


.intern-rightP3 {
    display: block;
    width: 250px;
    margin: 0 0 1em 1em;
    float: right;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-rightP3_2 {
    display: block;
    width: 40%;
    margin: 0 0 1em 4em;
    float: right;
    padding: 15px 15px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern-rightS2 {
    display: block;
    width: calc(100% - 280px - 2em);
    margin: 0 0 1em 1em;
    float: left;
}

.intern-leftP img,
.intern-rightP img {
    width: 100%;
}

.intern-leftP2 img,
.intern-leftP2_2 img,
.intern-rightP2 img,
.intern-rightP2R img,
.intern-rightP2019R img,
.intern-rightP3 img,
.intern-rightP3_2 img {
    width: 100%;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

.inturn_name {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.4em;
    margin: 0.7em 0 0 0;
}

.intern_row {
    display: table;
    width: calc(100% - 120px);
    margin: 3em auto 4em;
    padding: 1.5em 60px;
}

.intern_row1 {
    margin: 1em auto;
}

.intern_row2 {
    margin-bottom: 2em;
}

.intern_3 {
    margin-bottom: 3em;
}

.intern_5 {
    margin-bottom: 5em;
}

.intern_halfN {
    display: table-cell;
    width: 60px;
    vertical-align: top;
    padding: 0;
}

.intern_halfP {
    display: table-cell;
    width: calc(50% - 60px);
    vertical-align: top;
    padding: 35px 35px 1em;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
}

.intern_0 {
    margin-bottom: 0;
}

.intern_mt1 {
    margin-top: 1em !important;
}


.intern_halfP img,
.intern_allP img {
    width: 100%;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

.intern_allP {
    display: block;
    width: calc(50% - 160px);
    padding: 35px 525px 35px 35px;
    margin: 0 0 0 60px;
    background-color: #e3f5f7;
    background-image: url(../img/topic/intern_halfP_bg.png);
    border-radius: 12px;
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
    position: relative;
}

.intern_allP p {
    display: block;
    width: 450px;
    height: 8em;
    position: absolute;
    left: 430px;
    top: 0;
    bottom: 0;
    margin: auto;
    text-align: left;
}

.intern_halfP2013 {
    background-color: #dfd;
}

.intern_2014A {
    background-color: #efecff;
}

.intern_2014A2 {
    background-color: #fafcff;
    background-image: none;
}

.intern_2014B {
    background-color: #dfd;
}

.intern_2014B2 {
    background-color: #efe;
    background-image: none;
}

.intern_2015 {
    background-color: #ffc;
}

.intern_2016A {
    background-color: #efc;
}

.intern_2016B {
    background-color: #eec;
}

.intern_2017A {
    background-color: #d3f5d5;
    background-image: url(../img/topic/intern_halfP_bg_dots.png);
}

.intern_2017B {
    background-color: #eeee9e;
    background-image: url(../img/topic/intern_halfP_bg_dots.png);
}

.intern_2018A {
    background-color: #f7c9e4;
}

.intern_2018B {
    background-color: #e4b6fc;
}

.intern_halfP2019 {
    background-color: #e7dbff;
}

.intern_halfP2020 {
    background-color: #eaf5d3;
}


.inturn_cap {
    margin: 1em 0 0;
    font-size: 0.95em;
    text-align: center;
}

.inturn_cap2 {
    margin: 0.5em 0 -0.5em;
    text-align: left;
    font-size: 0.9em;
    line-height: 1.4em;
}

#inturn_lower {
    display: block;
    text-align: center;
    margin: 6em 0 3em;
}

#inturn_2016_00 {
    width: 450px;
    position: absolute;
    left: 430px;
    bottom: 30px;
}

#intern-las {
    margin: 15px auto 30px 200px;
    font-size: 1.4em;
    ;
}

.inturn_btm {
    margin-bottom: 3em;
}

.message2020 {
    background-color: #3e4c3e;
    background-image: url(../img/topic/intern_halfP_bg_dots.png);
    color: #fff;
}

.message2020 p {
    margin-top: 35px;
    background: url(../img/topic/topic_inturn_2020_img_05.png) no-repeat bottom 20px center;
    background-size: 90% auto;
    padding: 4% 5% 40%;

}

.message2020 p span {
    font-size: 120%;
    font-weight: bold;
    display: block;
    margin-bottom: 1em;
}

.mt-80 {
    margin-top: -80px;
}

.mt80 {
    margin-top: 100px;
}

.lineh2 p {
    line-height: 2.0;
    width: 95%;
}

.lineh2_2 p {
    line-height: 2.0;
    width: 45%;
    margin-left: 5%;
}