@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 640px) {
  body {
    font-size: 15px;
  }

  body, #mainvisual .inner, header, footer {
    min-width: 100%;
  }

  *, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .anchor {
    margin-top: -70px;
    padding-top: 70px;
  }

  /*============================================================================
  
  	共通
  
  ============================================================================*/
  .box_arrow {
    padding-bottom: 30px;
    margin-bottom: 60px;
  }
  .box_arrow h3 {
    padding-right: 6%;
    padding-left: 6%;
    width: auto;
    font-size: 24px;
  }
  .box_arrow::after {
    border-width: 30px 60px 0 60px;
    bottom: -29px;
  }

  .footer_bnr_box {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;
  }
  .footer_bnr_box a {
    display: block;
    text-align: center;
    font-size: 18px;
    font-family: ヒラギノ角ゴ W6 JIS2004;
    color: #fff;
    height: 50px;
    line-height: 50px;
    background-color: #2c4699;
  }
  .footer_bnr_box a i {
    margin-right: 6px;
  }

  /*============================================================================
  
  	header
  
  ============================================================================*/
  header {
    display: none;
  }

  /*============================================================================
  
  	nav
  
  ============================================================================*/
  .fixed {
    position: fixed;
    width: 100%;
  }

  .sp_navi_btn_area {
    position: absolute;
    width: calc(100% - 66px);
    z-index: 1;
    margin-left: 4px;
  }

  .sp_navi_btn_area li {
    display: block;
    width: calc(100% / 2 ) !important;
    float: left;
    text-align: center;
  }
  .sp_navi_btn_area li:nth-child(1) a {
    background-color: #ffae3b;
  }
  .sp_navi_btn_area li:nth-child(2) a {
    background-color: #ffae3b;
  }

  .sp_navi_btn_area li a {
    display: block;
    color: #FFF;
    height: 54px;
    line-height: 54px;
    margin: 4px;
    border-radius: 5px;
    font-family: ヒラギノ角ゴ W6 JIS2004;
    font-size: 17px;
    font-weight: 400;
  }

  .sp_navi_btn_area li svg {
    position: relative;
    font-size: 1.1em !important;
    top: 0px;
    left: -5px;
    color: #fff;
  }

  .sp_navi_btn_area li i {
    margin-right: 5px;
    color: #fff;
  }

  .sp_navi_btn_area li:nth-child(2) i {
    font-size: 1.2em !important;
  }

  nav {
    display: none;
  }

  .sp_navi {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /*height: 100%;*/
    font-size: 18px;
    font-weight: bold;
    z-index: 9998;
    height: 124px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    margin-bottom: 30px;
  }

  .sp_navi_fixed_area {
    z-index: 999;
  }

  .sp_navi .header_logo {
    position: relative;
    top: 0;
    display: block;
    width: 100%;
    text-align: left;
    height: 62px;
    background: #fff;
    margin: 0 auto;
  }

  .sp_navi .header_logo span, .sp_navi .header_logo img {
    display: block;
    margin: auto;
    padding-top: 5px;
  }

  .sp_navi .header_logo img {
    width: auto;
    height: auto;
    margin: 0 auto;
    z-index: 9999;
    position: relative;
	  max-width: 80%;
	  max-height: 55px;
  }

  .sp_navi dl {
    background-color: white;
  }

  .sp_navi dl dt {
    position: relative;
    height: 62px;
    font-weight: bold;
    padding: 0 4%;
    font-size: 18px;
    display: block;
    color: #fff;
    line-height: 2;
  }

  .sp_navi dl dt i {
    position: relative;
    top: 20px;
    font-size: 9px;
    font-style: normal;
    margin-right: 2%;
  }

  .sp_navi_list {
    display: none;
  }

  .sp_navi ul {
    /*padding:4% 2% 4% 8%;*/
  }

  .sp_navi_list li {
    display: block;
    width: 100%;
    float: left;
    line-height: 1.4;
    font-size: 15px;
    font-weight: normal;
    text-align: center;
  }

  .sp_navi_list li i {
    margin-right: 4%;
    color: #ba9275;
    font-size: 11px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    left: -6px;
  }

  .sp_navi_list i.fa-facebook-square, .sp_navi ul li i.fa-home {
    font-size: 16px;
  }

  .sp_navi_list li a, .sp_navi_parent > div {
    display: block;
    position: relative;
    vertical-align: middle;
    width: 100%;
    height: 50px;
    color: #fff;
    text-decoration: none;
    font-size: 1.1em;
    background: #112c80;
    border-bottom: solid 1px #FFF;
    font-family: 'Noto Sans JP',sans-serif;
    font-weight: 500;
    line-height: 50px;
  }

  .sp_navi_children li a {
    background: #4f5698 !important;
  }

  .sp_navi_parent > div::after {
    position: absolute;
    right: 17px;
    font-family: 'Font Awesome 5 free';
    font-weight: bold;
    content: "\f067";
    font-size: 1.0em;
  }

  .sp_navi_parent_active > div::after {
    position: absolute;
    right: 17px;
    font-family: 'Font Awesome 5 free';
    content: "\f068" !important;
    font-weight: bold;
    font-size: 1.0em;
  }

  .sp_navi_list li a::after {
    position: absolute;
    right: 20px;
    content: ">";
  }

  /*ボタンの動き*/
  .sp_navi dt a {
    display: block;
    width: 62px;
    height: 62px;
    position: absolute;
    /*top:5px;*/
    right: -5px;
    z-index: 9999999;
    text-align: center;
    background-color: #2c4699;
  }

  .sp_navi dt a i {
    position: relative;
    top: 25px;
    font-size: 9px;
    font-style: normal;
    color: #FFF;
    font-weight: 600;
  }

  .sp_navi dt a span {
    display: block;
    background: #FFF;
    width: 33px;
    height: 2px;
    position: absolute;
    left: 12px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
  }

  .sp_navi dt a span:nth-child(1) {
    top: 14px;
  }

  .sp_navi dt a span:nth-child(2) {
    margin-top: -8px;
    top: 50%;
  }

  .sp_navi dt a span:nth-child(3) {
    bottom: 29px;
  }

  .sp_navi dt a i {
    position: relative;
    left: -2px;
    bottom: 6px;
  }

  .sp_navi dt a.active {
    background: #112c80;
  }

  .sp_navi dt a.active i {
    color: #fff;
  }

  .sp_navi dt a.active span {
    background: #fff;
  }

  .sp_navi dt a.active span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(225deg);
    -moz-transform: translateY(8px) rotate(225deg);
    -ms-transform: translateY(8px) rotate(225deg);
    transform: translateY(8px) rotate(225deg);
  }

  .sp_navi dt a.active span:nth-child(2) {
    opacity: 0;
  }

  .sp_navi dt a.active span:nth-child(3) {
    -webkit-transform: translateY(-8px) rotate(-225deg);
    -moz-transform: translateY(-8px) rotate(-225deg);
    -ms-transform: translateY(-8px) rotate(-225deg);
    transform: translateY(-8px) rotate(-225deg);
  }

  /*============================================================================
  
  	#mainvisual
  
  ===================================================================.feature_list h4=========*/
  #mainvisual {
    background-position: center;
    background-attachment: scroll;
    background-image: url("../images/mv_img01_sp.jpg");
    background-size: auto 300px;
    background-position: top center;
    height: 800px;
    margin-top: 124px;
    background-color: #fff;
  }

  #mainvisual .inner {
    width: auto;
    height: inherit;
  }

  .mainvisual_catch h2 {
    top: 135px;
    left: 20px;
    font-size: calc(1.125rem + ((1vw - 3.2px) * (1.25)));
  }
  .mainvisual_catch h2 span {
    font-size: calc(0.9375rem + ((1vw - 3.2px) * (0.9375)));
    padding: 4px 10px;
  }
  .mainvisual_catch h2 span:nth-child(1) {
    margin-left: 8px;
  }
  .mainvisual_catch h2 span:nth-child(2) {
    padding: 4px 10px;
    margin-left: 8px;
  }
  .mainvisual_catch h2 strong {
    font-size: calc(2.8125rem + ((1vw - 3.2px) * (4.6875)));
  }
.mv_open_comment {
    right: auto;
    top: 405px;
    width: auto;
    height: auto;
    margin: 0 5%;
	padding: 10px;
}
.mv_open_comment p.big{
	font-size: 8vw;
	}

  .list_mv_point {
    top: 244px;
    left: 20px;
    width: calc(100% - 40px);
    padding-top: 8px;
    padding-right: 8px;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .list_mv_point li {
    padding-left: 30px;
    font-size: 14px;
  }
  .list_mv_point li::before {
    left: 4px;
    width: calc(29px * 0.8);
    height: calc(27px * 0.8);
  }

  .list_mv_feature {
    width: 90%;
    left: 5%;
    top: 300px;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .list_mv_feature li {
    width: 100%;
    height: auto;
  }

  .list_mv_feature {
	  top: 405px;
  }
  .list_mv_feature li {
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .list_mv_feature li:nth-child(3) h3 strong {
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .list_mv_feature h3 {
    font-size: 18px;
  }
  .list_mv_feature h3 strong {
    font-size: 20px;
  }
  .list_mv_feature h3 span.fs16 {
    font-size: 80%;
  }
  .list_mv_feature h3 span.fs24 {
    font-size: 80%;
  }

  /*============================================================================
  
  	#contents
  
  ============================================================================*/
  .box1 {
    width: auto;
    margin: 0 6% 80px;
  }

  .box2 {
    width: auto;
    margin: 0 6% 80px;
  }

  #contents {
    width: auto;
  }

  #contents_left {
    width: auto;
    float: none;
    margin-right: 0;
  }

  #contents_right {
    width: auto;
    padding: 0 6%;
    float: none;
  }

  /*============================================================================
  
  	point
  
  ============================================================================*/
  .point {
    margin-bottom: 40px;
  }
  .point .box1 {
    padding-top: 40px;
    margin: 0 0 40px;
  }

  .point_h3 h3 {
    padding-top: 12px;
    font-size: 24px;
    line-height: 1.4;
  }
  .point_h3 h3 span.circle {
    font-size: 30px;
    line-height: 55px;
  }
  .point_h3 h3 span.circle::before {
    width: 55px;
    height: 55px;
  }
  .point_h3 h3 span.circle:nth-child(1) {
    top: -40px;
    left: 33px;
  }
  .point_h3 h3 span.circle:nth-child(1)::before {
    top: -1px;
    left: -13px;
  }
  .point_h3 h3 span.circle:nth-child(2) {
    top: -51px;
    left: 97px;
  }
  .point_h3 h3 span.circle:nth-child(2)::before {
    top: -1px;
    left: -14px;
  }
  .point_h3 h3 span.circle:nth-child(3) {
    top: -40px;
    left: 162px;
  }
  .point_h3 h3 span.circle:nth-child(3)::before {
    top: -2px;
    left: -13px;
  }
  .point_h3 h3 span.white {
    font-size: 30px;
  }
  .point_h3 h3 span.white_mini {
    font-size: 24px;
  }
  .point_h3 h3 span.yellow {
    font-size: 30px;
  }
  .point_h3 p {
    font-size: 18px;
    line-height: 1.6;
    padding: 8px 12px;
    margin: 0 6%;
  }

  .point_box {
    width: 100%;
  }

  .point_box_photo {
    width: calc(100% - 30px);
    height: auto;
    margin: 20px 30px 20px 0;
    background-position: left bottom;
  }
  .point_box_photo ul {
    padding: 5% 6% 3% 6%;
  }
  .point_box_photo li {
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 1.4;
  }
  .point_box_photo li::before {
    width: calc(35px * 0.6);
    height: calc(32px * 0.6);
    left: 16px;
    top: 3px;
  }

  .point_box2 .point_box_photo {
    width: calc(100% - 30px);
    height: auto;
    margin: 20px 0 20px 30px;
    background-position: center bottom;
  }
  .point_box2 .point_box_photo ul {
    padding: 5% 6% 3% 6%;
  }
  .point_box2 .point_box_h4_in {
    width: auto;
  }
  .point_box2 .point_box_h4_in::after {
    bottom: -38px;
    border-right-width: 30px;
    border-bottom-width: 15px;
  }

  .point_box_h4 {
    position: relative;
    left: 0;
    width: 100%;
  }
  .point_box_h4 figure {
    width: 60%;
    height: 60%;
    max-width: 348px;
    max-height: 348px;
    left: 20%;
    top: -160px;
  }
  .point_box_h4 figure::before {
    top: 140px;
    left: -20vw;
    width: 100vw;
    height: 200px;
  }

  .point_box_h4_in {
    width: auto;
  }
  .point_box_h4_in::after {
    bottom: -38px;
    border-left-width: 30px;
    border-bottom-width: 15px;
  }
  .point_box_h4_in p {
    font-size: 18px;
  }
  .point_box_h4_in h4 {
    font-size: 38px;
  }

  .point_contact {
    height: auto;
  }
  .point_contact h4 {
    font-size: 18px;
    padding-top: 24px;
    padding-right: 6%;
    padding-left: 6%;
    padding-bottom: 30px;
  }

  .price_contact_box {
    height: auto;
    background-color: #2c4699;
  }

  .contact_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 20px 6% 30px;
  }
  .contact_box .tel_box {
    margin: 0 auto 30px;
  }
  .contact_box .tel_box dt {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .contact_box .tel_box dd {
    font-size: calc(2.25rem + ((1vw - 3.2px) * (3.125)));
  }
  .contact_box .reserve_box {
    width: 100%;
  }
  .contact_box .reserve_box a {
    width: 100%;
    height: 70px;
    font-size: 21px;
    line-height: 70px;
    padding-right: 6%;
  }
  .contact_box .reserve_box a::before {
    left: 6%;
  }

  /*============================================================================
  
  	about
  
  ============================================================================*/
  .about {
    margin-bottom: 40px;
  }
  .about .box1 {
    max-width: 100%;
    min-width: 100%;
    padding-top: 20px;
  }

  .about_h3 {
    position: relative;
    left: 6%;
    right: 6%;
    top: unset;
    max-width: calc(100% - 12%);
    width: auto;
    min-width: auto;
    padding: 4% 6%;
  }
  .about_h3 h3 {
    font-size: calc(1.6875rem + ((1vw - 3.2px) * (3.4375)));
    margin: 0 auto;
  }
  .about_h3 p {
    height: auto;
    font-size: calc(1.125rem + ((1vw - 3.2px) * (1.875)));
    line-height: 1;
    padding: 3% 8%;
  }

  .about_box {
    padding: 6% 6%;
    margin-top: -3%;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    background-position: center;
    background-color: rgba(255, 255, 255, 0.3);
    background-blend-mode: lighten;
  }

  .about_box_list {
    max-width: 100%;
    width: 100%;
    min-width: 100%;
    padding-top: 6%;
    margin-bottom: 20px;
  }
  .about_box_list:nth-child(1) .about_box_h4 {
    margin-right: 0;
  }
  .about_box_list:nth-child(1) > p {
    padding: 6%;
  }
  .about_box_list:nth-child(2) .about_box_h4 {
    margin-left: 0;
  }
  .about_box_list:nth-child(2) > p {
    padding: 6%;
  }
  .about_box_list > p {
    font-size: 14px;
  }

  .about_box_h4 h4 {
    font-size: calc(1.6875rem + ((1vw - 3.2px) * (3.4375)));
  }
  .about_box_h4 p {
    font-size: calc(1.125rem + ((1vw - 3.2px) * (1.875)));
    margin-bottom: 12px;
  }

  /*============================================================================
  
  	graph
  
  ============================================================================*/
  .graph .box1 {
    margin: 0;
  }

  .graph_h3 h3 {
    padding-top: 30px;
    padding-bottom: 0;
    font-size: 24px;
  }

  .graph_box {
    max-width: 100%;
    min-width: 100%;
    width: auto;
    padding: 6%;
    border-width: 6px;
  }

  .graph_box_number {
    width: 100%;
    margin: 0 auto 40px;
  }
  .graph_box_number > h4 {
    width: 100%;
    height: auto;
    padding: 4% 6%;
    font-size: 21px;
  }

  .graph_box_list {
    position: relative;
    max-width: 100%;
    min-width: 100%;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    top: unset;
    padding: 6%;
  }

  .graph_box_list h4 {
    margin-right: 0;
    margin-bottom: 18px;
    font-size: 24px;
  }
  .graph_box_list h4::after {
    left: -25%;
    top: unset;
    bottom: 0;
    width: 150%;
  }

  .graph_box_point {
    width: 100%;
    margin: 6% auto 60px;
    padding: 6%;
  }
  .graph_box_point h3 {
    font-size: 30px;
  }
  .graph_box_point p {
    font-size: 19px;
  }

  .graph_box_point02 {
    width: 80%;
    height: auto;
    margin: auto;
    line-height: 1.6;
    margin: 0 auto 40px 20%;
    padding: 3% 5%;
    border-radius: 40px;
  }
  .graph_box_point02::before {
    width: calc(214px * 0.5);
    height: calc(287px * 0.5);
    left: -35%;
    bottom: -47px;
    top: unset;
  }

  .graph_box_list2 {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
  }

  .graph_box_list2_list {
    width: 100%;
    border-width: 6px;
    margin-bottom: 80px;
    padding: 6%;
  }
  .graph_box_list2_list::before {
    width: calc(180px * 0.75);
    height: calc(180px * 0.75);
    top: -70px;
  }
  .graph_box_list2_list h4 {
    font-size: calc(1.75rem + ((1vw - 3.2px) * (1.875)));
    margin-left: 116px;
    margin-bottom: 20px;
    text-align: left;
  }

  .list_numbers {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .list_numbers_rank {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .list_numbers_rank li {
    margin-bottom: 12px;
  }
  .list_numbers_rank li:nth-child(1), .list_numbers_rank li:nth-child(2), .list_numbers_rank li:nth-child(3), .list_numbers_rank li:nth-child(4) {
    width: 100%;
    line-height: 38px;
  }
  .list_numbers_rank li em {
    font-size: 27px;
    margin-right: 4px;
  }

  .graph_box_ill {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin: 0 auto 40px;
  }
  .graph_box_ill figure {
    position: relative;
    margin: 40px auto 40px;
    width: 90%;
    text-align: center;
  }
  .graph_box_ill figure:nth-child(2) figcaption {
    background-color: #cb526f;
  }
  .graph_box_ill figcaption {
    position: absolute;
    top: -20px;
    left: -5%;
    background-color: #2c4699;
    padding: 3px 12px;
    font-size: 16px;
    color: #fff;
  }

  .graph_box_text {
    font-size: 22px;
  }
  .graph_box_text::before {
    top: 200px;
    border-width: 60px 90px 0 90px;
  }
  .graph_box_text .graph_strong {
    font-size: 46px;
    margin-right: 10px;
  }
  .graph_box_text .graph_strong::before, .graph_box_text .graph_strong::after {
    background-size: cover;
    width: calc(34px * 0.7);
    height: calc(26px * 0.7);
  }
  .graph_box_text p:nth-child(3) {
    font-size: 30px;
  }

  .graph_list2 {
    margin-left: 0;
  }

  /*============================================================================
  
  	feature
  
  ============================================================================*/
  .feature::before {
    border-width: 100px 150px 0 150px;
    top: -75px;
  }
  .feature .box1 {
    padding-top: 0;
    width: auto;
    margin: 0 6%;
  }

  .feature_h3 {
    margin-bottom: 0;
    font-size: 24px;
  }
  .feature_h3 h3 {
    line-height: 1.6;
  }
  .feature_h3 span {
    font-size: 180%;
  }
  .feature_h3 .num {
    font-size: 350%;
  }
  .feature_h3 .yellow {
    font-size: 250%;
  }

  .feature_list {
    width: 100%;
    padding-bottom: 40px;
    margin-bottom: 40px;
  }
  .feature_list li {
    width: 100%;
    height: auto;
    min-height: auto;
    padding: 6% 8%;
  }
  .feature_list em {
    font-size: 100px;
    margin-bottom: 8px;
  }
  .feature_list h4 {
    font-size: 19px;
  }
  .feature_list div.kome{
    padding-left: 5%;
  }
  .feature_list p {
    line-height: 1.8;
    padding: 0;
  }
  .feature_list .feature_list_point {
    padding: 0;
    margin: 4% 0;
  }
  .feature_list .feature_list_point p {
    padding: 4%;
  }

  /*============================================================================
  
  	$wec
  
  ============================================================================*/
  .wec .box1 {
    width: auto;
    margin: 0 6% 60px;
    padding: 6%;
  }
  .wec h3 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 24px;
  }
  .wec p {
    margin-bottom: 20px;
    text-align: left;
  }

  .wec_attention {
    width: 100%;
    border-radius: 30px;
    padding: 6%;
  }
  .wec_attention p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 0;
  }

  /*============================================================================
  
  	flow
  
  ============================================================================*/
  .flow {
    margin-bottom: 40px;
  }
  .flow .box1 {
    margin: 0;
  }

  .flow_h3 {
    font-size: 24px;
  }
  .flow_h3 h3 {
    padding-top: 30px;
    padding-bottom: 0;
  }

  .flow_box {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    max-width: 100%;
    width: 100%;
    min-width: 100%;
  }
  .flow_box > li {
    max-width: 88%;
    width: 88%;
    min-width: 88%;
    margin: 0 auto 60px;
  }
  .flow_box > li > h3 {
    height: 70px;
    border-radius: 35px;
    margin-bottom: 20px;
    line-height: 70px;
    font-size: 24px;
  }

  .flow_list > li {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .flow_list > li h4 {
    width: 100%;
    padding-top: 80px;
    padding-bottom: 24px;
  }
  .flow_list > li h4::before {
    width: 70px;
    height: 70px;
  }
  .flow_list > li h4 em {
    margin-bottom: 8px;
  }
  .flow_list > li .flow_list_box {
    width: 100%;
  }
  .flow_list > li .flow_list_box {
    padding: 6%;
  }

  .flow_list_box p {
    line-height: 1.8;
  }

  .flow_list_text {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .flow_list_text p {
    width: 100%;
  }
  .flow_list_text figure {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  /*============================================================================
  
  	price
  
  ============================================================================*/
  .price {
    padding-top: 70px;
  }
  .price .box1 {
    max-width: unset;
    width: auto;
    min-width: auto;
    margin: 0 6%;
  }

  .price_h3 {
    width: auto;
    margin: 0 auto 20px;
    padding: 12px 6%;
    height: auto;
    border-radius: 35px;
    font-size: 20px;
    line-height: 1.6;
  }

  .price_box {
    width: 100%;
  }
  .price_box h4 {
    line-height: 1.6;
    font-size: 18px;
    padding: 6%;
  }

  .price_list {
    width: 100%;
    height: auto;
    padding: 6%;
    margin-bottom: 40px;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .price_list li {
    margin: 0 4px 4%;
  }
  .price_list li img {
    width: 70%;
    height: auto;
  }

  .price_table caption {
    font-size: 15px;
  }
  .price_table thead {
    display: none;
  }
  .price_table th {
    width: 100%;
    display: block;
  }
  .price_table th:nth-child(1), .price_table th:nth-child(2), .price_table th:nth-child(3), .price_table th:nth-child(4) {
    width: 100%;
  }
  .price_table td {
    width: 100%;
    display: block;
  }
  .price_table tbody {
    height: auto;
    line-height: 1;
  }
  .price_table tbody th {
    padding: 6% 6%;
    font-size: 19px;
    line-height: 1.6;
    text-align: center;
  }
  .price_table tbody tr:nth-child(even) {
    background-color: #fff;
  }
  .price_table tbody td {
    position: relative;
    padding: 6%;
  }
  .price_table tbody td:nth-child(even) {
    background-color: #ecebeb;
  }
  .price_table tbody td::before {
    position: relative;
    display: inline-block;
    color: #fff;
    line-height: 30px;
    padding: 0 10px;
    margin-right: 10px;
    font-size: 70%;
  }
  .price_table tbody td em {
    font-size: 36px;
  }
  .price_table tbody td:nth-child(2)::before {
    content: "1割負担";
  }
  .price_table tbody td:nth-child(3)::before {
    content: "2割負担";
  }
  .price_table tbody td:nth-child(4)::before {
    content: "3割負担";
  }

  .table01 tbody th {
    background-color: #afbde6;
    color: #fff;
  }
  .table01 tbody td::before {
    background-color: #7188ce;
  }

  .table02 tbody th {
    background-color: #9fd5ee;
    color: #fff;
  }
  .table02 tbody td::before {
    background-color: #63bee7;
  }

  .price .contact_box {
    height: 260px;
  }

  /*============================================================================
  
  	$greet
  
  ============================================================================*/
  .greet {
    height: auto;
  }
  .greet .box1 {
    width: auto;
    margin: 0 6%;
    padding-bottom: 40px;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    padding-top: 40px;
  }

  .greet_box {
    width: 100%;
  }

  .greet_h3 h3 {
    font-size: 24px;
    margin-bottom: 24px;
  }
  .greet_h3 p {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .greet_box .text p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 2;
  }

  .doctor_name {
    font-size: 16px;
  }

  .doctor_img {
    width: 100%;
  }
  .doctor_img figure::before {
    content: none;
  }
  .doctor_img figure::after {
    content: none;
  }
  .doctor_img::before{
	  display: none;
	}

  /*============================================================================
  
  	footer
  
  ============================================================================*/
  footer {
    padding-top: 20px;
  }
  footer .inner {
    width: auto;
    margin: 0 6%;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer address {
    margin-bottom: 30px;
  }

  .footer_logo {
    width: calc(481px * 0.6);
    height: calc(92px * 0.6);
  }

  .footer_left {
    width: 100%;
    margin-bottom: 30px;
  }
  .footer_left .tel_box {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  .footer_left .tel_box a {
    padding-top: 20px;
  }
  .footer_left .tel_box dt {
    font-size: 15px;
  }
  .footer_left .tel_box dd {
    font-size: calc(2.125rem + ((1vw - 3.2px) * (1.25)));
  }

  .footer_sche {
    margin-bottom: 20px;
  }
  .footer_sche .tb01 {
    width: 100%;
    margin-bottom: 16px;
  }
  .footer_sche .tb01 thead ¥ th {
    padding-left: 1%;
    padding-right: 1%;
    text-align: center;
  }
  .footer_sche .tb01 thead th,
  .footer_sche .tb01 thead td {
    padding-top: 3%;
    padding-bottom: 3%;
    font-size: 3.5vw;
    line-height: 1.5;
  }
  .footer_sche .tb01 tbody th,
  .footer_sche .tb01 tbody td {
    font-size: 3.25vw;
    line-height: 1.5;
  }
  .footer_sche .tb01 tbody th {
    padding-left: 1%;
    padding-right: 1%;
    text-align: center;
  }

  .footer_right {
    width: 100%;
    margin-bottom: 0;
  }

  .footer_access {
    height: auto;
    padding: 4% 6%;
  }
  .footer_access p {
    padding: 0;
    font-size: 18px;
  }
  .footer_access p span {
    font-size: 120%;
  }

  .footer_map {
    margin-top: 30px;
  }
  .footer_map iframe {
    height: 400px;
  }

  .copy {
    margin-top: 0;
  }

  /*============================================================================
  
  	$共通
  
  ============================================================================*/
  #container {
    padding-bottom: 30px;
  }

  .box {
    width: auto;
    padding: 0 6% 8%;
  }

  .text {
    float: none;
    width: auto;
    padding: 0;
    border: none;
  }

  /*============================================================================
  
  	$見出し
  
  ============================================================================*/
  h1 {
    font-size: 12px;
    width: auto;
  }

  .tit01,
  .tit02,
  .tit03,
  .tit04 {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 25px;
    text-align: center;
  }

  .tit02::before {
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 40px;
    height: 57px;
    background-image: url(../images/tit02_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .nowrap {
    white-space: normal;
  }

  /* テーブル */
  .tb01 {
    white-space: inherit;
  }

  .tb03, .tb03 th {
    white-space: inherit;
  }

  .tb03.w075par {
    width: 100%;
  }

  .tb04, .tb04 th {
    white-space: normal;
  }

  .tb04 th {
    font-size: 13px;
  }

  .tb04 td, .tb04 th {
    padding: 2%;
  }

  /* ボタン */
  .btn01 a {
    display: block;
  }

  /* アンカーリンク */
  .ank02 {
    width: 100%;
  }

  .ank03 {
    width: 100%;
  }

  .ank03 li {
    width: 48%;
  }

  .ank04 {
    width: 100%;
  }

  .ank04 li {
    width: 48%;
  }

  /* 画像右寄せ */
  .img_fr {
    float: none;
    margin-left: 0;
    text-align: center;
  }

  .img_fr img {
    margin-bottom: 15px;
    max-width: 100%;
    width: auto;
  }

  /*============================================================================
  
  	$doctor
  
  ============================================================================*/
  /*common*/
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .pc_inline {
    display: none !important;
  }

  .sp_inline {
    display: inline !important;
  }

  .pc_table {
    display: table !important;
  }

  .sp_table {
    display: table !important;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .sp_mb00 {
    margin-bottom: 0 !important;
  }

  .sp_mr00 {
    margin-right: 0 !important;
  }

  .sp_ml00 {
    margin-left: 0 !important;
  }

  .sp_mt00 {
    margin-top: 0 !important;
  }

  .sp_pb00 {
    padding-bottom: 0 !important;
  }

  .sp_pr00 {
    padding-right: 0 !important;
  }

  .sp_pl00 {
    padding-left: 0 !important;
  }

  .sp_pt00 {
    padding-top: 0 !important;
  }

  .sp_center {
    text-align: center;
  }
}
@media screen and (max-width: 320px) {
  .main_open {
    position: absolute;
    top: auto;
    bottom: 50px;
    right: 0;
    left: 0;
    width: 50%;
    margin: auto;
  }

  .sp_inline_iP {
    display: inline !important;
  }
}
