@charset "UTF-8";
/*フォント
----------------------------------------------------*/
/* 幅980px以下からcss適応 */
@media only screen and (max-width: 980px) {
  .second_main {
    flex-direction: column;
    margin-bottom: 32px;
  }
  .second_maincontent {
    width: 100%;
  }
  .second_sidecontent {
    width: 100%;
    max-width: 100%;
    margin-top: 40px;
  }
  .side_trial {
    max-width: 480px;
    margin: 0 auto 24px;
  }
  .side_bnrlist {
    display: flex;
    flex-wrap: wrap;
  }
  .side_bnrconts {
    width: calc(50% - 12px);
    margin-right: 24px;
    margin-bottom: 24px;
    line-height: 0;
  }
  .side_bnrconts:nth-of-type(2n) {
    margin-right: 0;
  }
  .mensfunin_data01-illust img {
    width: 28vw;
  }
}

/* 幅680px以下からcss適応 */
@media only screen and (max-width: 680px) {
  #breadcrumb {
    display: none;
    width: 90%;
  }
  .second_mainimage-text {
    height: calc(100% - 4vw);
  }
  .mainimage_ttl {
    font-size: 5vw;
    letter-spacing: 0.025em;
  }
  .second_main {
    margin-bottom: 24px;
    width: 90%;
  }
  .img_f-l,
  .img_f-r {
    float: none;
    margin: 0 auto 16px;
    text-align: center;
  }
  .img_f-l img,
  .img_f-r img {
    width: 60vw;
    max-width: 260px;
    height: auto;
    margin: 0 auto;
  }

  .img_f-r_wide img {
    width: 100%;
    height: auto;
    margin-bottom: 8px;
  }
  
  .btn01 {
    margin-top: 16px;
  }
  .movieconts01 iframe {
    height: 70vw;
  }
  .checklist01 {
    padding: 12px 16px;
  }
  .checklist01 ul li {
    background-position: left 8px;
    background-size: 12px auto;
    font-size: 13px;
    margin-bottom: 6px;
    padding-left: 16px;
  }
  .s_sec01 {
    margin-top: 40px;
  }
  .s_sec02 {
    margin-top: 32px;
  }
  .telnum_text01 {
    font-size: 16px;
  }
  .telnum_text01 span {
    font-size: 1.5em;
  }
  .clinic_mainmessage {
    padding: 24px 8px;
    box-sizing: border-box;
    height: 100%;
  }
  .clinic_mainmessage-wrap {
    position: relative;
  }
  .clinic_mainmessage-illust01 {
    left: 0;
  }
  .clinic_mainmessage-illust02 {
    right: 0;
  }
  .clinic_mainmessage-illust01,
  .clinic_mainmessage-illust02 {
    position: absolute;
    top: 0;
    bottom: 0;
    opacity: 0.3;
  }
  .clinic_mainmessage-illust01 p,
  .clinic_mainmessage-illust02 p {
    height: 100%;
  }
  .clinic_mainmessage-illust01 p img,
  .clinic_mainmessage-illust02 p img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
  }
  .clinic_mainmessage-text p {
    text-align: center;
  }
  .clinic_mainmessage-text img {
    width: auto;
    max-width: 90%;
    margin: 0 auto;
  }
  .link_contact01-wrap {
    flex-direction: column;
  }
  .link_contact01 {
    margin-top: 0;
  }
  .link_contact01-conts {
    width: 100%;
    margin: 0 auto 12px;
  }
  .link_contact01-conts p {
    margin-bottom: 0 !important;
  }
  .link_contact01-conts p a {
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    padding: 16px 12px;
  }
  .link_contact01-mail p a img,
  .link_contact01-bgp p a img {
    max-height: 15px;
  }
  .link_contact01-bgp-reserve p a img,
  .link_contact01-bgw-sitelink p a img {
    height: 6vw;
    max-height: 18px;
    margin-right: 4px;
  }
  .pricetable01 tbody tr th, .pricetable01 tbody tr td {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    line-height: 1.6;
  }
  .voice_conts {
    margin-bottom: 24px;
    padding-bottom: 12px;
  }
  .voice_conts-wrap {
    flex-direction: column;
  }
  .voice_conts-img {
    margin: 0 auto 24px;
  }
  .voice_conts-text {
    width: 100%;
    margin: 0 auto;
  }
  .voice_conts-ttl {
    font-size: 16px;
    padding-bottom: 4px;
  }
  .voice_conts-img-btn p {
    font-size: 14px;
  }
  .voice_conts-img-btn p img {
    max-width: 14px;
  }
  .voice_conts-textarea dl dt, .voice_conts-textarea dl dd {
    line-height: 1.6;
  }
  .voice_conts-textarea dl dt {
    font-size: 15px;
    padding-left: 14px;
  }
  .voice_conts-textarea dl dt:before {
    width: 9px;
    height: 9px;
    top: 8px;
  }
  .beginner_movie,
  .movie_list {
    flex-direction: column;
  }
  .beginner_movie-conts,
  .movielist_conts {
    width: 100%;
    margin: 0 auto 24px;
  }
  .beginner_movie-conts:last-of-type,
  .movielist_conts:last-of-type {
    margin-bottom: 0;
  }
  .funin_message02 {
    padding: 12px;
  }
  .funin_message02-wrap {
    flex-direction: column;
  }
  .funin_message02-conts {
    width: 100%;
    margin: 0 auto 12px;
    text-align: center;
  }
  .funin_message02-conts:last-of-type {
    margin-bottom: 0;
  }
  .funin_message03 p {
    font-size: 6.5vw;
  }
  .funin_message04 {
    margin-bottom: 24px;
  }
  .funin_message04 p {
    font-size: 16px;
  }
  .funin_voice {
    padding: 16px;
  }
  .funin_message05 p {
    font-size: 20px;
  }
  .mensfunin_message02-text p img {
    width: 76%;
  }
  .mensfunin_data01 {
    padding: 12px;
  }
  .mensfunin_data01-graph {
    margin-left: 16px;
  }
  .mensfunin_data02 {
    padding: 24px 12px;
  }
  .mensfunin_data02-overview-textarea {
    margin: 16px auto;
    position: relative;
    height: 100%;
  }
  .mensfunin_data02-overview-illust01,
  .mensfunin_data02-overview-illust02 {
    position: absolute;
    opacity: 0.1;
  }
  .mensfunin_data02-overview-illust01 img,
  .mensfunin_data02-overview-illust02 img {
    width: 55%;
    height: auto;
  }
  .mensfunin_data02-overview-illust01 {
    left: 0;
    top: 0;
  }
  .mensfunin_data02-overview-illust02 {
    right: -90px;
    bottom: 0;
  }
  .mensfunin_data02-overview-text {
    text-align: center;
  }
  .mensfunin_data02-overview-text img {
    width: auto;
    max-width: 90%;
    height: auto;
    margin: 0 auto;
  }
  .mensfunin_data02-detail {
    padding: 12px;
  }
  .mensfunin_data02-detail-link {
    font-size: 15px;
  }
  .profile_message {
    padding: 16px 12px;
  }
  .profile_message-img {
    line-height: 0;
  }
  .profile_message-img img {
    width: auto;
    max-width: 80px;
    height: auto;
  }
  .profile_message-text p {
    font-size: 15px;
    text-align: left;
    line-height: 1.8;
  }
  .profile_message-text p:last-of-type {
    text-align: right;
  }
  .staff_img img {
    width: 50vw;
    max-width: 200px;
    height: auto;
    margin: 0 auto;
  }
  .staff_list-conts {
    padding: 12px;
  }
  .staff_list-conts li {
    margin-right: 16px;
  }
  .staff_list-conts li a {
    margin-right: 0;
  }
  .staff_list-ttl {
    font-size: 15px;
    padding: 8px 12px;
  }
  .clinic_conts {
    width: calc(50% - 8px);
    margin-right: 16px;
    margin-bottom: 16px;
  }
  .clinic_name {
    font-size: 14px;
    padding: 8px 6px;
    line-height: 1.5;
  }
  .ninshin_goalline {
    padding: 12px;
  }
  .clinic_mainmessage-subtext p {
    font-size: 16px;
    text-align: left;
  }
  .clinic_mainmessage-subtext p br {
    display: none;
  }
  .imglist_column.imglist_column4 ul li {
    width: calc(50% - 4px);
    margin-right: 8px;
  }
  .imglist_column.imglist_column4 ul li:nth-of-type(2n) {
    margin-right: 0;
  }
  .flow_num {
    width: 64px;
    height: 64px;
  }
  .flow_numconts {
    font-size: 28px;
  }
  .flow_textarea {
    width: calc(100% - 80px);
    margin-left: 16px;
    margin-bottom: 0;
  }
  .flow_textarea .img_f-r {
    text-align: left;
  }
  .flow_textarea .img_f-r img {
    margin-left: 0;
  }
  .flow_ttl {
    margin-top: 16px;
    margin-bottom: 16px;
    line-height: 1.5;
  }
  .feature_conts {
    margin-bottom: 32px;
  }
  .feature_conts:last-of-type {
    margin-bottom: 24px;
  }
  .feature_ttlnum {
    width: 64px;
    height: 64px;
    top: 0;
  }
  .feature_ttlnum-text {
    font-size: 28px;
  }
  .feature_ttltext {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding-left: 48px;
    padding-right: 8px;
    line-height: 1.5;
  }
  .access_navi-tabconts p {
    font-size: 14px;
    line-height: 1.5;
  }
  .access_nav-detailconts-wrap {
    flex-direction: column;
  }
  .access_nav-detailconts-wrap figure {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 4px;
  }
  .access_nav-detailconts-wrap figure img {
    width: calc(50% - 1px);
    margin-right: 2px;
    margin-bottom: 2px;
  }
  .access_nav-detailconts-wrap figure img:nth-of-type(2n) {
    margin-right: 0;
  }
  .access_nav-text {
    width: 100%;
    text-align: left;
  }
  .access_nav-detailconts:after {
    border-width: 16px 24px 12px 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -36px;
  }
  .access_nav-text {
    margin: 0 auto;
    text-align: left;
  }
  .price_numconts{
    margin-bottom: 12px;
  }
  .price_num-ttl{
    padding-left: 28px;
    min-height: 20px;
  }
  .price_num-ttl span{
    width: 20px;
    height: 20px;
    font-size: 13px;
  }
  .price_num-memo{
    margin-top: 8px;
    padding-left: 0;
  }
  .price_num-memo li{
    font-size: 13px;
  }
  .price_feature ul{
    flex-direction: column;
  }
  .price_feature ul li{
    width: 100%;
    margin: 0 auto 8px;
  }
  .price_feature ul li:last-of-type{
    margin-bottom: 0;
  }
  

  .faq_conts {
    margin-bottom: 24px;
  }
  .faq_q {
    padding: 8px 72px 8px 8px;
    margin-bottom: 0;
  }
  .faq_ttl {
    padding-left: 30px;
  }
  .faq_ttl:before {
    font-size: 20px;
    top: 10px;
  }
  .faq_ttl p {
    font-size: 15px;
    line-height: 1.5;
  }
  .faq_q-btn {
    width: 26px;
    height: 26px;
    top: calc(50% - 13px);
    right: 8px;
  }
  .faq_q-btn:before {
    height: 2px;
    left: 4px;
    width: 18px;
    top: calc(50% - 1px);
  }
  .faq_q-btn:after {
    width: 2px;
    top: 4px;
    height: 18px;
    left: calc(50% - 1px);
  }
  .faq_a {
    padding: 12px 12px 12px 40px;
  }
  .faq_a:before {
    font-size: 20px;
    left: 9px;
    top: 27px;
  }
  .voice_message01-top {
    margin-bottom: 8px;
  }
  .voice_message01-btm {
    margin-top: 0;
  }
  .voice_message01 {
    padding: 12px;
  }
  .voice_message01-text {
    margin-top: 16px;
  }
  .voice_cat ul li {
    width: 50%;
  }
  .voice_cat ul li:nth-of-type(3n) {
    border-right: 1px solid #fff;
  }
  .voice_cat ul li:nth-of-type(2n) {
    border-right: none;
  }
  .voice_cat ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1.5;
    height: 100%;
  }
  .reservation_telconts {
    width: 100%;
    padding: 16px;
    margin: 0 auto 24px;
  }
  .reservation_telconts:last-of-type {
    margin-bottom: 0;
  }
  .reservation_telconts-ttl01 {
    font-size: 16px;
  }
  .reservation_telconts-telnum {
    font-size: 18px;
  }
  .reservation_telconts-telnum a {
    color: #f48783;
    text-decoration: underline;
  }
  .reservation_opentbl thead tr th,
  .reservation_opentbl tbody tr th {
    width: 6em;
  }
  .reservation_opentbl thead tr th, .reservation_opentbl thead tr td,
  .reservation_opentbl tbody tr th,
  .reservation_opentbl tbody tr td {
    font-size: 13px;
    padding: 6px;
  }
  .reservation_tel {
    padding: 12px;
  }
  .reservation_tel-text01 p {
    font-size: 16px;
  }
  .reservation_tel-text02 P {
    font-size: 8vw;
  }
  .reservation_tel-text02 P img {
    width: 8vw;
    max-width: 32px;
    margin-right: 8px;
    position: relative;
    top: 2px;
  }
  .reservation_tel-text03 {
    margin-top: 12px;
  }
  .reservation_tel-text03 dl dt, .reservation_tel-text03 dl dd {
    font-size: 13px;
  }
  .reservation_reserve-wrap {
    flex-direction: column;
  }
  .reservation_reserveconts {
    width: 100%;
    margin: 0 auto 24px;
  }
  .reservation_reserveconts a {
    padding: 8px 16px 8px 12px;
    line-height: 1.5;
  }
  .reservation_reserveconts a img {
    max-width: 16px;
    margin-right: 2px;
  }
  .reservation_reserveconts a:after {
    max-width: 6px;
    top: calc(50% - 6px);
  }
  .reservation_reserveconts:nth-of-type(2) a, .reservation_reserveconts:nth-of-type(3) a {
    background: #f48783;
    border-color: #f48783;
  }
  .reservation_reserveconts:nth-of-type(2n) a {
    background: #f4a9a6;
    border-color: #f4a9a6;
  }
  .reservation_type-list {
    padding: 8px 12px 4px;
  }
  .reservation_type-list .list01 {
    margin: 0;
  }
  .reservation_type-list .list01 li {
    line-height: 1.5;
    margin-right: 20px;
    margin-bottom: 8px;
  }
  .reservation_type-list .list01 li:before {
    top: 7px;
  }
    
    
    .reservation_hand_line {
    margin: 0 0 20px 0;
    text-align: left;
    font-size: 14px;
background: none;
    padding: 0;
    font-weight: normal;
}
    
    
  .second_sidecontent {
    width: 100%;
    max-width: 100%;
    margin-top: 24px;
  }
  .second_side-conts {
    margin-bottom: 16px;
  }
  .side_menu01-ttl {
    padding: 8px;
  }
  .side_menu01-ttl p {
    font-size: 15px;
  }
  .side_menu01-listconts p a {
    font-size: 14px;
    padding: 10px 24px 10px 12px;
  }
  .side_bnrconts {
    width: calc(50% - 4px);
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .side_bnrconts:nth-of-type(2n) {
    margin-right: 0;
  }
  .result_main {
    width: 90%;
    margin: 0 auto;
  }
  .result_mainconts-img img {
    border-width: 4px;
    height: auto;
  }
  .result_main-arrow-l,
  .result_main-arrow-r {
    max-width: 12px;
    top: calc(50% - 6px);
  }
  .result_main-arrow-l img,
  .result_main-arrow-r img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .result_main-arrow-l {
    left: -24px;
  }
  .result_main-arrow-r {
    right: -24px;
  }
  .single_conts h3 {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .single_conts h4 {
    font-size: 16px;
    line-height: 1.6;
  }

  .footer_navi-tab {
    margin: 0 ;
  }

  .footer_navi-tab-column .footer_navi-tabconts {
    /* width: calc(100% / 7); */    
    width: calc(100% / 3);
  }

    
}
