  .btn_menu {
    margin: 0;
    transition: .5s ease-in-out;
  }
  .btn_menu.active {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
  }
  .btn_menu a.icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -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;
    width: 80px;
    height: 80px;
    margin: 0 auto;
    font-size: 12px;
    color: #FFF;
    line-height: 100%;
    background-color: #666666;
  }
  .btn_menu a.icon span {
    display: block;
    position: relative;
    width: 32px;
    height: 2px;
    background: #FFF;
    margin: 8px auto 16px;
  }
  .btn_menu a.icon span:before, .btn_menu a.icon span:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    -webkit-transition: all .15s ease;
    -o-transition: all .15s ease;
    transition: all .15s ease;
    left: 0;
    background: #FFF;
    top: 0;
  }
  .btn_menu a.icon span:before {
    margin-top: -8px;
  }
  .btn_menu a.icon span:after {
    margin-top: 8px;
  }
  .btn_menu.active a.icon span {
    background-color: transparent;
  }
  .btn_menu.active a.icon span::before, .btn_menu.active a.icon span::after {
    margin-top: 0px;
    -webkit-transition-delay: 0, 0.2s;
    -moz-transition-delay: 0, 0.2s;
    -ms-transition-delay: 0, 0.2s;
    -o-transition-delay: 0, 0.2s;
    transition-delay: 0, 0.2s;
  }
  .btn_menu.active a.icon span::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .btn_menu.active a.icon span::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }


  @media screen and (max-width: 750px) {
	.block-list {
		grid-template-columns: repeat(2, 2fr);
	}  
  .block-list li p {
    width: 180px;
    height: 150px;
    font-size: 0.9rem;
    background: #1f5c99 url("../images/bg_main.png") no-repeat right top;
    background-position-x: right;
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);

    background-position-x: 52px;
    background-position-y: -23px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-list li p::before{
    position: absolute;
    content: "";
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    background: #ffff;
    width: 90%;
    height: 90%;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%);
    z-index: -1;
    
  }
  .block-list li p::after{
    position: absolute;
    content: "";
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    background: #1f5c99 url("../images/bg_main.png") no-repeat right top;
    /* background-size: 100%; */
    background-position-x: 29px;
    background-position-y: -10px;
    width: 88%;
    height: 88%;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%);
    z-index: -1;
  }
  .txt_main {
    height: auto;
    background-color: transparent;
  }
    input, button, textarea, select, p, blockquote, th, td, pre, li, dt, dd {
      font-size: 140%;
      letter-spacing: 0;
    }
    p, dt, dd, td, th, li {
      line-height: 28px;
    }
    p {
      margin-bottom: 15px;
    }
    #wrapper {
      min-width: 0;
    }
    .sp {
      display: block;
    }
    .pc {
      display: none;
    }
    #totop {
      bottom: 120px;
      right: 5px;
      width: 40px;
    }
    .image_l, .image_r {
      margin: 0 0px 25px 0;
      text-align: center;
    }
    .table-wrapper {
      width: 100%;
      overflow: auto;
    }
    .table-wrapper table {
      width: 750px;
    }
    .note {
      font-size: 12px;
      margin-bottom: 10px;
      color: #1f5c99;
    }
    main table {
      width: 100%;
    }
    main table th, main table td {
      padding: 10px;
    }
    /*==========================================================================*/
    /*                               Header                                     */
    /*==========================================================================*/
    header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 9999;
      height: 60px;
      background-color: #FFF;
    }
    header h1 {
      display: none;
    }
    header #logo {
      margin: 0;
      padding: 10px;
    }
    header #logo img {
      max-height: 40px;
      width: auto;
    }
    @media screen and (max-width: 320px) {
      header #logo {
        padding: 16px 10px;
      }
      header #logo img {
        max-height: 28px;
      }
    }
    .sidecontact {
      display: none;
    }
    /*==========================================================================*/
    /*                               Gnavi                                      */
    /*==========================================================================*/
    #gnavi_pc {
      display: none;
    }
    .btn_menu {
      margin: 0;
      transition: .5s ease-in-out;
      position: fixed;
      z-index: 9999;
      top: 0;
      right: 0;
    }
    .btn_menu a.icon {
      background-color: #1f5c99;
      width: 60px;
      height: 60px;
    }
    ul.menu > li {
      border-bottom: solid 1px #1f5c99;
    }
    ul.menu > li > a, ul.menu > li > span {
      display: block;
      position: relative;
      padding: 15px 20px;
      color: #555555;
    }
    ul.menu > li > a br, ul.menu > li > span br {
      display: none;
    }
    ul.menu > li > span:before, ul.menu > li > span:after {
      content: '';
      position: absolute;
      background: #555;
      top: 50%;
    }
    ul.menu > li > span:before {
      width: 11px;
      height: 1px;
      margin-top: 0px;
      right: 20px;
    }
    ul.menu > li > span:after {
      width: 1px;
      height: 11px;
      right: 25px;
      margin-top: -5px;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s;
      opacity: 1;
    }
    ul.menu > li.active span:after {
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
      opacity: 0;
    }
    ul.menu > li.active .sub {
      height: auto;
      opacity: 1;
    }
    ul.menu > li a:before {
      content: '';
      position: absolute;
      padding: 3px;
      border-right: 1px solid #1f5c99;
      border-bottom: solid 1px #1f5c99;
      right: 23px;
      top: 50%;
      -webkit-transform: rotate(-45deg) skew(-12deg, -12deg);
      -ms-transform: rotate(-45deg) skew(-12deg, -12deg);
      transform: rotate(-45deg) skew(-12deg, -12deg);
      margin-top: -3px;
      opacity: 0.7;
    }
    ul.menu .sub {
      position: relative;
      width: 100%;
      overflow: hidden;
      height: 0;
      background-color: #1f5c99;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
    }
    ul.menu .sub li {
      border-top: solid 1px #CCC;
    }
    ul.menu .sub li a {
      padding: 10px 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 12px;
      color: #FFF;
      position: relative;
      display: block;
    }
    ul.menu .sub li a::before {
      display: none;
    }
    #gnavi {
      position: fixed;
      top: 60px;
      right: -100%;
      bottom: 0;
      width: 100%;
      z-index: 101;
      background: rgba(255, 255, 255, 0.98);
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
    }
    #gnavi .scroll {
      height: 100%;
      overflow: scroll;
    }
    #gnavi.open {
      right: 0;
    }
    .menu_list {
      margin: 20px 0;
      text-align: center;
      display: block;
    }
    .menu_list p a {
      width: 100%;
      height: 60px;
      max-width: 65%;
      margin-bottom: 10px;
    }
    .menu_line_note {
      line-height: 1.6;
    }
    #modal-open {
      height: 60px;
      width: 95px;
      color: #1f5c99;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: center;
      justify-content: center;
      position: fixed;
      z-index: 10;
      top: 0;
      right: 60px;
      background-color: #e7e7dd;
      font-size: 11px;
    }
    #modal-open::before {
      content: '';
      display: inline-block;
      background: url(../images/icon_calendar.png) no-repeat center;
      background-size: 24px 22px;
      height: 24px;
      width: 24px;
      margin-right: 8px;
    }
    .nav_flex p {
      color:#fff;
      padding:10px 20px;
      margin-bottom:0;
    }
    .nav_flex_menu {
      border-top: solid 1px #CCC;
    }
    .nav_flex_menu a p {
      color:#fff;
      padding:10px 20px;
      margin-bottom:0;
      border-bottom:solid 1px #CCC;
      font-size:12px;
    }
    ul.menu .sub .nav_flex_menu_borderless li {
      border: none;
    }
    /*==========================================================================*/
    /*                               Footer                                     */
    /*==========================================================================*/
    footer {
      padding-bottom: 100px;
    }
    footer .footer1 {
      padding: 50px 0 30px;
    }
    footer .footer1 .inner {
      display: block;
      padding: 0 10px;
    }
    footer #flogo {
      margin: 0 auto 30px;
      width: 100%;
    }
    footer table {
      margin: 0 auto;
      max-width: 480px;
    }
    footer table th, footer table td {
      font-size: 12px;
      letter-spacing: 0;
    }
    footer table th {
      font-weight: normal;
      width: auto;
      padding: 5px;
      text-align: left;
    }
    footer table td {
      text-align: center;
      padding: 5px;
    }
    footer .footer2 {
      margin-top: 0;
    }
    footer .footer_reser {
      height: auto;
      padding: 30px 10px 0;
    }
    footer .footer_reser dl {
      margin-bottom: 16px;
    }
    footer .footer_reser dt {
      font-size: 30px;
      line-height: 100%;
      letter-spacing: 5px;
      margin-bottom: 15px;
    }
    footer .footer_reser dd {
      font-size: 12px;
      line-height: 1.6;
    }
    footer .footer_tel {
      margin-bottom: 30px;
      font-size: 14px;
      text-align: center;
    }
    footer .footer_tel a {
      line-height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    footer .footer_tel span {
      font-size: 32px;
    }
    footer .footer_tel img {
      max-height: 25px;
      max-width: 25px;
    }
    footer .footer_reser_btn {
      display: block;
      text-align: center;
    }
    footer .footer_reser_btn li {
      margin: 0 auto 15px;
      max-width: 369px;
      width: 100%;
      text-align: center;
    }
    footer .footer_menu {
      display: none;
    }
    footer address {
      font-size: 12px;
      letter-spacing: 0;
      line-height: 22px;
      padding: 20px 0;
    }
    /*==========================================================================*/
    /*                             Bottom Bar                                 	*/
    /*==========================================================================*/
    .bottom_bar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      display: none;
      z-index: 89;
      /*border-top: solid 1px #FFF;*/
    }
    .bottom_bar ul {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
    }
    .bottom_bar li {
      display: table-cell;
      vertical-align: middle;
      text-align: center;
      height: 50px;
      /*width: 50%;*/
      width: 100%;
    }
    .bottom_bar li.map span::before {
      content: '';
      display: inline-block;
      width: 11px;
      height: 18px;
      background: url("../images/f_map_icon.png") no-repeat center/cover;
      margin-right: 7px;
      transform: translateY(2px);
    }
    .bottom_bar li a {
      display: inline-flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -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;
      width: 100%;
      height: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      text-decoration: none;
      font-size: 14px;
      line-height: 1;
      text-align: center;
    }
    /* .bottom_bar li:nth-child(1) a {
    background: #6087C6;
    color: #FFF;
  }

  .bottom_bar li:nth-child(2) a {
    background: #FFF;
  }

  .bottom_bar li:nth-child(3) a {
    background: #1f5c99;
    color: #FFF;
  }

  .bottom_bar li:nth-child(4) a {
    background: #eaeaea;
    color: #1f5c99;
  }*/
    .bottom_bar li:nth-child(1) a {
      background: #1f5c99;
      color: #FFF;
    }
    /*  .bottom_bar li:nth-child(2) a {
    background: #6087C6;
	  color: #FFF;
  }*/
    .bottom_bar li:nth-child(2) a {
      background: #eaeaea;
      color: #1f5c99;
    }
    .ft_line_ttl {
      margin-bottom: 10px;
    }
    .tel_icon img {
      height: 16px;
      margin-right: 10px;
    }
    .tel_num {
      margin-bottom: 6px;
    }
    /*.tel_num::before {
		content: '';
		height: 16px;
		width: 16px;
		background: url("../images/f_tel_icon1.png") no-repeat center/cover;
		margin-right: 7px;
		display: inline-block;
		transform: translateY(2px);
	}*/
    .tel_note {
      font-size: 10px;
      font-weight: normal;
      letter-spacing: 0;
    }
      .bottom_bar .bnr_line {
          width: 100%;
          height: 66px;
          margin: 0 auto 0;
      }
    .bottom_bar.sp .bnr_line a{ 
        border-radius: 0;
        font-size: 16px;
    }
   .bottom_bar .bnr_line a{
    display: block;
    padding: 5px;
    text-align: center;
    }
    .bottom_bar.sp .bnr_line a::before{
      display: none;
    }
    .bottom_bar.sp .bnr_line a span:first-child{
      position: relative;
      display: flex;
  justify-content: center;
  align-items: center;
    }
    .bottom_bar.sp .bnr_line a span:first-child::before{
      display: block;
        content: '';
        background: url("../images/line_icon.png") no-repeat center center;
        background-size: 32px auto;
        width: 32px;
        height: 32px;
        margin-right: 10px;
    }
    .bottom_bar.sp .bnr_line a span:last-child{
      font-size: 0.8rem;
    }
      footer.wp_box{
          padding-bottom: 100px;
      }
      .bnr-line-list {
        max-width: 90%;
        padding: 25px 0 10px;
      }
    @media screen and (max-width: 375px) {
      .tel_note {
        font-size: 2.2vw;
      }
    }
    .ft_line_ttl dt {
      font-size: 18px;
    }
    .ft_line_ttl dd {
      font-size: 80%;
      line-height: 14px;
    }
    .ft_line_ttl dd span {
      font-size: 12px;
    }
    .ft_line_line {
      display: block;
      margin: 0 auto 10px;
      max-width: 100%;
    }
    .ft_line_line dt {
      display: none;
    }
    .ft_line_line dd {
      text-align: center
    }
    .ft_line_line dd span {
      display: none;
    }
    .ft_line_line dd img {
      max-width: 32%;
    }
    .ft_line_list {
      display: block;
    }
    .ft_line_list li {
      width: 100%;
      margin-bottom: 10px;
    }
    .ft_line_tel a {
      font-size: 20px;
    }
    .ft_line_tel span {
      font-size: 80%;
      line-height: 14px;
    }
    #ft_line_popup .js-close {
      height: 42px;
      width: 42px;
      background-size: cover;
      top: -10px;
      right: -10px;
    }
    .ft_line_flow img {
      max-width: 100%;
    }
    .ft_message_ttl {
      font-size: 160%;
    }
    @media screen and (max-width: 375px) {
      .ft_message_ttl {
        font-size: 140%;
      }
    }
    /*==========================================================================*/
    /*                             Index                                     */
    /*==========================================================================*/
    #index {
      /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
      /* EFFECT                                                                 */
      /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    }

    #index #slider .slider_detail img {
      width: inherit;
      max-width: inherit;
      
      height: auto !important;
    }
    #index #slider .effect.slider_detail img {
      -webkit-animation: mvslideAnime1 10s;
      animation: mvslideAnime1 10s;
    }
    @-webkit-keyframes mvslideAnime1 {
      0% {
        -webkit-transform: translate(0px);
        transform: translate(0px);
      }
      100% {
        -webkit-transform: translate(0px);
        transform: translate(-50px);
      }
    }
    @keyframes mvslideAnime1 {
      0% {
        -webkit-transform: translate(0px);
        transform: translate(0px);
      }
      100% {
        -webkit-transform: translate(0px);
        transform: translate(-50px);
      }
    }
    #index .mainvisual {
      padding: 10px 0 40px;
      position: relative;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: column;
      background-size: cover;
    }
    /*  #index.ios .mainvisual {
    height: 85vh;
  }*/
    #index .mainvisual .inner {
      max-width: 100%;
      flex-direction: column;
      flex: 1;
      padding: 0 10px;
      /* height: calc(100vh - 100px); */
      justify-content: flex-start;
      align-items: center;
    }
    #index .index1_contact .index1_contact_btn {
      max-width: 280px !important;
    }
    #index .index1_contact .index1_contact_note li {
      margin-bottom: 25px !important;
    }
    #index .index1_contact.box_contact_cus {
      margin-bottom: 0 !important;
      margin-top: 0;
      width: 100%;
    }
    #index .mainvisual .mainvisual_photo {
      margin-right: 0px;
      width: 100%;
      order: 1;
    }
    #index h2 {
      font-size: 1rem;
      line-height: 1.6;
      text-align: center;
      position: relative;
      margin: 10px 0 20px;
      padding: 20px;
      background: rgba(255, 255, 255, .8);
    }
    .block-wrapper {
      background-color: rgba(255, 255, 255, .5);
    }
    .idx_bnr {
      margin: 0 auto 0;
      order: 4;
    }
    .idx_bnr dt {
      font-size: .9rem;
      padding: 5px 10px;
    }
    .idx_bnr dd {
      font-size: .75rem;
      line-height: 1.8;
      padding: 10px;
    }
    .main_menu {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: center;
      margin-bottom: 10px;
      width: 96%;
      max-width: 600px;
      order: 2;
    }
    .main_menu li {
      width: 50%;
    }
    .main_menu a {
      text-align: center;
      color: #FFF;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 60px;
      line-height: 1.4;
      width: 100%;
    }
    .mn_contact a {
      background-color: #1f5c99;
    }
    .mn_line a {
      background-color: #00B900;
    }
    .main_bottom_bar {
      order: 3;
      width: 100%;
      max-width: 300px;
      padding: 0 1% 10px;
      display: flex;
      justify-content: center;
      flex-shrink: 0;
      position: relative;
    }
    .main_bottom_bar li {
      width: 100%;
      margin: 0 auto;
      text-align: center;
    }
    .main_bottom_bar a {
      display: flex;
      width: 100%;
      background-color: #FFF;
      align-items: center;
      justify-content: center;
      border-radius: 30px;
      height: 48px;
      margin: 0 auto;
      -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      line-height: 20px;
    }
    .main_bottom_bar a:first-child span {
      font-weight: bold;
    }
    .main_bottom_bar span {
      color: #1f5c99;
      font-size: 16px;
      margin-left: 10px;
    }
    .reser_note {
      margin-bottom: 0;
      font-size: 13px;
      line-height: 1.5;
      margin-top: 10px;
      width: 100%;
    }
    .index1 {
      padding: 0 0 40px 0;
    }
    .index1 h3 {
      font-size: 22px;
      margin-bottom: 15px;
    }
    .index1 .inner {
      height: auto;
    }
    .df {
      display: block;
    }
    .index1_tbl th, .index1_tbl td {
      font-size: 12px;
    }
    .index1_tbl th {
      padding: 5px;
    }
    .index1_tbl td {
      padding: 5px;
    }
    .index1_tbl td:last-child {
      padding-right: 5px;
    }
    .index1_time {
      padding: 25px 0 10px;
      margin-top: 0;
      height: auto;
      min-height: auto;
    }
    .index1_time table {
      max-width: 480px;
      margin: 0 auto 5px;
    }
    .index1_txt {
      font-size: 13px;
      color: #FFF;
      margin: 0 auto 20px;
      max-width: 480px;
    }
    .index1_tel {
      margin-bottom: 20px;
      text-align: center;
      font-size: 16px;
    }
    .index1_tel a {
      line-height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .index1_tel span {
      font-size: 32px;
      margin-left: 10px;
    }
    .index1_tel img {
      max-height: 25px;
      max-width: 25px;
    }
    .index1_reser_btn {
      display: block;
      text-align: center;
    }
    .index1_reser_btn li {
      margin: 0 auto 15px;
      width: 100%;
    }
    .index1_reser_btn li span {
      font-size: 18px !important;
    }
    .index1_r {
      padding: 0;
      margin: 0 auto;
    }
    .index1_list {
      margin-bottom: 5px;
      text-align: center;
    }
    .index1_list li {
      margin: 5px;
      max-width: 280px;
    }
    .index1_list li:first-child {
      margin-right: 5px;
    }
    .index1_add {
      font-size: 12px;
    }
    .index_h3 {
      margin-bottom: 25px;
    }
    .index_h3 .h3_en {
      font-size: 43px;
      letter-spacing: 8px;
    }
    .index_h3 .h3_jp {
      font-size: 20px;
    }
    .index2 {
      padding: 40px 0 165px;
      margin-bottom: 125px;
    }
    .index3_photo {
      width: 100%;
      max-width: 100%;
      height: 225px;
      bottom: -125px;
      left: 0;
      margin-bottom: 0px;
      padding: 0;
      transform: none;
    }
    .index3_photo.view {
      top: 0;
    }
    .index3_photo.view .idx3_photo {
      -webkit-transform: translate(0);
      -ms-transform: translate(0);
      transform: translate(0);
    }
    .index3_photo .idx3_photo {
      width: 100%;
      height: 100%;
    }
    .index2_l {
      margin: 0 auto;
      width: 100%;
    }
    .index2_photo {
      margin-top: 40px;
      width: 100%;
    }
    .index2_dl {
      margin-bottom: 30px;
    }
    .index2_dl dt {
      font-size: 22px;
      line-height: 36px;
      margin-bottom: 20px;
    }
    .index2_list {
      position: absolute;
      bottom: 10px;
      left: -10px;
    }
    .index2_list li {
      font-size: 4.5vw;
      padding: 9px 10px 7px;
      margin-bottom: 2px;
    }
    .index2_list li span {
      margin-right: 10px;
    }
    .index_btn {
      display: block;
      text-align: center;
    }
    .index_btn a {
      width: 280px;
      max-width: 280px;
      margin: 20px auto;
    }
    .index_btn a span {
      font-size: 16px;
    }
    .index3 {
      padding: 60px 0 60px;
    }
    .index3 .index3_text {
      padding-bottom: 0;
    }
    .index3 h4 {
      font-size: 22px;
      line-height: 32px;
      margin-bottom: 20px;
    }
    .index4 {
      position: relative;
      padding: 50px 0;
    }
    .index4 h3 {
      margin-bottom: 25px;
    }
    .index4 h3::after {
      margin-top: 27px;
    }
    .index4_photo {
      position: relative;
      top: 0;
      left: 0;
      text-align: center;
      margin-bottom: 30px;
      width: 100%;
    }
    .index4_cont {
      margin: 0 auto;
      width: 100%;
      padding-left: 0;
    }
    .index5 {
      padding: 50px 0;
      text-align: center;
      background: url(../images/index_bg3.jpg) no-repeat top center;
      background-size: cover;
    }
    .index5 .inner {
      position: relative;
      background: none;
      height: auto;
    }
    .index5_photo1 {
      position: relative;
      top: 0;
      left: 0;
      text-align: center;
      margin-bottom: 10px;
    }
    .index5_photo2 {
      position: relative;
      right: 0;
      top: 0;
      text-align: center;
      margin-bottom: 10px;
    }
    .index5_photo3 {
      position: relative;
      bottom: 0;
      left: 0;
      right: 0;
      top: auto;
      text-align: center;
    }
    .index6 {
      padding: 50px 0;
    }
    .index6_features {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .index6_feature {
      height: 280px;
      width: 280px;
      margin: 10px;
      padding: 20px;
    }
    .index6_feature dt {
      font-size: 26px;
      margin-bottom: 10px;
    }
    .index6_feature dd {
      font-size: 32px;
      letter-spacing: 10px;
      margin-bottom: 15px;
    }
    .index6_feature p {
      line-height: 28px;
      font-size: 14px;
    }
    #imgRibbon {
      height: 250px;
    }
    #imgRibbon, #imgRibbon ul li img {
      height: 40vw !important;
    }
    #imgRibbon ul li img {
      width: auto;
    }
    #index main .index7 {
      padding: 60px 0;
    }
    #index main .index7 .inner {
      position: relative;
      padding-right: 0;
    }
    #index main .index7 .index7_photo {
      position: relative;
      right: 0;
      top: 0;
      text-align: center;
      margin-bottom: 40px;
    }
    .doctor_name {
      margin-bottom: 22px;
    }
    .doctor_name dt {
      font-size: 22px;
      margin-bottom: 12px;
    }
    .doctor_name dd {
      font-size: 16px;
    }
    .index8 {
      padding: 50px 0 0;
    }
    div.index8_feature {
      margin-bottom: 50px;
      position: relative;
      padding: 0 !important;
    }
    div.index8_feature .index8_photo {
      position: relative;
      width: 100%;
    }
    div.index8_feature:nth-child(2n+2) .index8_photo {
      right: 0;
      left: auto;
    }
    div.index8_feature:nth-child(2n+2) .index8_cont {
      margin-right: auto;
      margin-left: 0;
    }
    div.index8_feature:nth-child(2n+2)::after {
      display: none;
    }
    div.index8_feature:nth-child(2n+2) .index8_ttl {
      text-align: left;
      padding: 0;
    }
    div.index8_feature:nth-child(1)::after {
      display: none;
    }
    .index8_cont {
      margin: 0 auto 30px;
      padding-top: 0;
    }
    div.index8_cont_white {
      padding: 0px !important;
    }
    div.index8_cont_white dl {
      margin-bottom: 15px;
    }
    div.index8_cont_white dt {
      font-size: 22px;
      line-height: 36px;
    }
    div.index8_cont_white dd {
      font-size: 18px;
      font-weight: bold;
      letter-spacing: 2px;
    }
    div.index8_cont_white p:not(:last-child) {
      margin-bottom: 30px;
    }
    .index8_ttl {
      text-align: left;
      padding-right: 0;
      margin-bottom: 20px;
    }
    .index8_ttl span {
      text-align: left;
    }
    .index8_ttl span:first-child {
      font-size: 18px;
      line-height: 32px;
      letter-spacing: 3px;
    }
    .index8_ttl span:last-child {
      font-size: 60px;
      letter-spacing: 3px;
      margin-left: 22px;
    }
    .index9 {
      padding: 50px 0 0;
    }
    .index9_ttl {
      font-size: 22px;
      line-height: 36px;
      margin-bottom: 30px;
      text-align: center;
    }
    .index9_conts {
      display: block;
    }
    .index9_grid {
      margin: 0 auto;
    }
    .index9_grid .index9_list {
      padding: 18px 70px 18px 10px;
    }
    .index9_grid .index9_list::after {
      width: 50px;
      right: 0px;
    }
    .index9_grid .index9_list dt {
      font-size: 30px;
      margin-right: 10px;
    }
    .index9_grid .index9_list dd span:first-child {
      font-size: 16px;
      line-height: 32px;
    }
    .index9_grid .index9_list dd span:last-child {
      font-size: 14px;
      line-height: 32px;
    }
    .index9_bnr {
      margin: 50px auto 0;
    }
    .index9_bnr a::after {
      right: 10px;
    }
    .index9_bnr a span {
      font-size: 18px;
      line-height: 36px;
      padding: 20px 30px;
    }
    .index9_bnr_2 {
      flex-direction: column;
      align-items: center;
    }
    .index9_bnr_2 a {
      width: 100%;
      max-width: 600px;
    }
    .index9_bnr_2 a:first-child {
      margin-bottom: 30px;
    }
    .top_menu {
      padding: 50px 0 0;
    }
    .index10 {
      padding: 50px 0;
    }
    .index10 h3 {
      margin-bottom: 40px;
    }
    .list_tabs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .list_tabs li {
      font-size: 12px;
      line-height: 18px;
      padding: 10px;
      margin: 0 1px;
      width: calc(50% - 2px);
      max-width: 200px;
      justify-content: center;
    }
    div.tabs_wrap {
      padding: 40px 10px !important;
      margin-bottom: 30px !important;
    }
    .list_item a {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .list_item a .date {
      font-size: 12px;
    }
    .list_item a .cat {
      font-size: 11px;
      margin: 0 10px;
      width: 120px;
    }
    .list_item a .title {
      max-width: 100%;
      width: 100%;
    }
    .index11 {
      padding: 50px 0;
    }
    .index11 .index11_photo {
      position: relative;
      top: 0;
      margin-bottom: 30px;
    }
    .index11 .index11_cont {
      margin: 0 auto;
      padding: 0 10px 30px 10px;
      width: 100%;
    }
    .index11 .index11_txt {
      font-size: 18px;
      line-height: 36px;
      margin-bottom: 30px;
      letter-spacing: 0;
    }
    .index11 h3 {
      margin-bottom: 22px;
    }
    div.index12 {
      padding: 50px 0 !important;
    }
    div.index12 h3 {
      margin-bottom: 20px;
    }
    div.index12 .index12_inner {
      padding: 0 10px;
      display: block;
    }
    div.index12 .index_acc {
      margin-bottom: 40px;
    }
    div.index13 {
      padding: 50px 0 !important;
    }
    div.index13 h3 {
      margin-bottom: 20px;
    }
    div.index13 .index12_inner {
      padding: 0 10px;
      display: block;
    }
    div.index13 .index_acc {
      margin-bottom: 40px;
    }
    .index12_map {
      margin: 0 auto 30px;
    }
    .index_acc_list {
      margin-bottom: 15px;
    }
    .index_acc_list li {
      font-size: 16px;
      line-height: 32px;
    }
    #index .index1 .index1_contact .index1_contact_note li p.index1_contact_note_cnt {
      margin-bottom: 0;
    }
    #index .index1 .index1_contact .index1_contact_btn {
      margin-bottom: 0;
      bottom: -25px;
    }
    #index .index1 .index1_contact .index1_contact_btn a span {
      font-size: 14px;
    }
    .index1 .inner {
      height: auto;
    }
    .index1_tbl th, .index1_tbl td {
      padding: 5px;
    }
    .idx_bnr dd {
      padding: 10px;
    }
    .index1_map iframe {
      height: 280px;
    }
  }
  @media screen and (max-width: 320px) {
    .index9_bnr a span {
      font-size: 14px;
    }
  }
  @media screen and (max-width: 750px) and (max-width: 375px) {
    .sp375 {
      display: block;
    }
  }
  @media screen and (max-width: 750px) and (max-width: 320px) {
    .index_h3 {
      margin-bottom: 25px;
    }
    .index_h3 .h3_en {
      font-size: 36px;
      letter-spacing: 4px;
    }
    .index_h3 .h3_jp {
      font-size: 16px;
    }
    .index1_add {
      font-size: 11px;
    }
    .index2_dl dt {
      font-size: 18px;
    }
    .index9_ttl {
      font-size: 18px;
      line-height: 32px;
      margin-bottom: 20px;
    }
    .index9_grid .index9_list dt {
      font-size: 22px;
      margin-right: 10px;
    }
    .index9_grid .index9_list dd span:first-child {
      font-size: 14px;
      line-height: 22px;
    }
    .index9_grid .index9_list dd span:last-child {
      font-size: 12px;
      line-height: 22px;
    }
    .index9_bnr a span {
      font-size: 14px;
    }
  }
  @media screen and (max-width: 750px) {
    .flex3 .col3:last-child {
      margin-bottom: 30px;
  }
    .wow {
      visibility: visible !important;
      -webkit-animation: none !important;
      -moz-animation: none !important;
      -o-animation: none !important;
      -ms-animation: none !important;
      animation: none !important;
    }
    /*==========================================================================*/
    /*                             under                                     */
    /*==========================================================================*/
    .under .mainvisual {
      background: url(../images/u_h2_bg.jpg) no-repeat top center;
      padding-top: 60px;
      height: 260px;
    }
    .under .mainvisual .inner {
      height: 200px;
      padding: 0 10px;
    }
    .under .u_page_name {
      font-size: 42px;
      letter-spacing: 5px;
    }
    .under h2 {
      color: #888888;
      font-size: 18px;
      line-height: 26px;
    }
    .under section {
      padding: 30px 0;
    }
    .under .root1 {
      padding-bottom: 30px;
    }
    .under main .inner {
      padding: 0 10px;
    }
    .under .box_h3 {
      padding-left: 0;
      position: relative;
    }
    .under .box_h3::before {
      display: none;
    }
    .under .box_h4:not(:first-child) {
      margin-top: 40px;
    }
    .under .box_h5 {
      margin-top: 25px;
    }
    .under h3, .under .flex2 .titleh3   {
      font-size: 22px;
      margin-bottom: 15px;
      line-height: 34px;
      letter-spacing: 1px;
      font-weight: bold;
    }
    .under .style1 {
      font-size: 22px;
      margin-bottom: 15px;
      line-height: 34px;
      letter-spacing: 1px;
      font-weight: bold;
    }
    .under h4 {
      font-size: 20px;
      margin-bottom: 15px;
      line-height: 30px;
      font-weight: bold;
    }
    .under h5 {
      font-size: 18px;
      line-height: 26px;
      font-weight: bold;
    }
    .under h6 {
      font-size: 16px;
      line-height: 22px;
      padding: 10px 10px 8px;
      font-weight: bold;
    }
    .topic_path {
      padding: 10px 0;
    }
    .topic_path li {
      padding: 10px 20px;
    }
    .topic_path .inner {
      padding: 0 10px;
    }
    .topic_path + section {
      margin-bottom: 0;
    }
    .flow_box .flow_gr:not(:first-child) {
      padding-top: 0;
    }
    .flow_gr {
      display: block;
      padding: 0;
    }
    .flow_gr .flow_item {
      width: 100%;
      margin-bottom: 0px;
      /*margin-left: -10px;*/
      padding: 40px 10px;
    }
    .flow_gr .flow_item:nth-child(2) {
      margin-top: 0;
      padding-top: 0;
    }
    .flow_gr .flow_item dl {
      max-width: 100%;
      width: 100%;
      padding: 0;
      margin-bottom: 20px;
    }
    .flow_gr .flow_item dt {
      margin-bottom: 15px;
    }
    .flow_gr .flow_item dt > span {
      height: 60px;
      width: 60px;
      font-size: 22px;
      padding-top: 10px;
    }
    .flow_gr .flow_item dt .step_txt {
      font-size: 11px;
      line-height: 100%;
    }
    .flow_gr .flow_item .flow_ttl {
      font-size: 22px;
      line-height: 36px;
      margin-bottom: 15px;
    }
    .flow_gr .flow_photo {
      text-align: center;
    }
    .flow_gr .flow_item:nth-child(2n+2) {
      padding-top: 40px;
    }
    .flow_gr .flow_item:nth-child(2n+2) .flow_photo {
      margin-top: 0px;
    }
    .u_bnr_gr {
      margin: 40px 0;
    }
    .u_bnr_gr a {
      font-size: 14px;
      line-height: 30px;
      border-radius: 20px;
      padding: 20px 10px;
    }
    .bnr_gr_2 {
      display: block;
    }
    .u_bnr_contact {
      background: url("../images/sp_u_banner1_bg.jpg") top left/cover;
      height: auto;
      align-items: flex-end;
      margin-top: 40px;
    }
    .u_bnr_contact_ttl {
      text-align: center;
      font-size: 16px;
      line-height: 30px;
    }
    .u_bnr_contact a {
      margin: 10px 0 0;
    }
    .u_bnr_list li.u_bnr_tel a {
      font-size: 20px;
    }
    .bnr_gr_2 p {
      width: 100%;
      max-width: 100%;
    }
    .concept_cir {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .concept_cir dl {
      height: auto;
      width: 100%;
      border-radius: 40px;
      margin: 0 0 20px;
    }
    .concept_cir dl dt {
      padding: 20px;
    }
    .concept_cir dl dd {
      padding: 0 20px 40px;
    }
    .concept_staff {
      padding-bottom: 10px;
    }
    .concept_staff .concept_staff_info {
      background-color: #FFF;
      width: 100%;
      max-width: 100%;
      position: relative;
      right: 0;
      top: auto;
    }
    .concept_staff_btn a {
      width: 100%;
      max-width: 350px;
    }
    .over_tbl th, .over_tbl td {
      width: 100%;
      display: block;
      margin-top: -1px;
    }
    .concept_box {
      height: auto;
      margin-bottom: 30px;
    }
    .concept_box .inner, .pd10 {
      padding: 0 10px;
    }
    .concept_box div.box_h5 {
      padding: 0 !important;
      background-color: transparent;
    }
    .concept_box::before {
      display: none;
    }
    .concept_box h5::after {
      height: 2px;
    }
    .concept_box.concept4 {
      height: auto;
    }
    .under .concept4 h4 {
      font-size: 20px;
    }
    .body_box_col {
      max-width: 100%;
      margin: 0 0 30px;
    }
    .body_box_col:first-child {
      order: 2;
    }
    .body_box_col:last-child {
      order: 1;
    }
  }
  @media screen and (max-width: 750px) {
    .anchor_link {
      flex-wrap: wrap;
    }
    .anchor_link li {
      margin: 2px;
      width: 250px;
    }
    .anchor_link a {
      border-radius: 10px;
      padding: 10px 10px 14px;
      font-size: 11px;
    }
  }
  @media screen and (max-width: 750px) and (max-width: 320px) {
    .under .u_page_name {
      font-size: 30px;
      letter-spacing: 5px;
      margin-bottom: 10px;
    }
    .under h2 {
      font-size: 16px;
      letter-spacing: 0;
    }
    .u_bnr_gr {
      margin: 30px 0;
    }
    .u_bnr_gr a {
      font-size: 12px;
      line-height: 26px;
    }
  }
  @media screen and (max-width: 750px) {
    /*==========================================================================*/
    /*                             ON                                 	*/
    /*==========================================================================*/
    /*==========================================================================*/
    /*                             blog                                     	*/
    /*==========================================================================*/
    .blog-item {
      width: 100%;
      margin: 0 0 30px;
    }
  }
  @media screen and (max-width: 750px) and (max-width: 640px) {
    .column-img img {
      max-width: 100%;
      max-height: 100%;
    }
  }
  @media screen and (max-width: 750px) {
    #recruit .mainvisual {
      background: url(../images/u_h2_bg.jpg) no-repeat top center;
      padding-top: 60px;
      height: 260px;
      margin-top: 0;
    }
    #recruit .mainvisual::after {
      display: none;
    }
    #recruit .mainvisual .inner {
      height: 200px;
      padding: 0 10px;
    }
    #recruit .mainvisual div.recruit_h2 {
      padding: 10px !important;
      background-color: transparent;
      width: calc(100% + 10px);
    }
    #recruit .mainvisual div.recruit_h2 .u_page_name {
      font-size: 42px;
      letter-spacing: 5px;
      color: #888888;
    }
    #recruit .mainvisual div.recruit_h2 h2 {
      color: #888888;
      font-size: 18px;
      line-height: 26px;
    }
    #recruit .mainvisual div.recruit_h2::before {
      background-color: transparent;
    }
    .recruit1::before {
      height: 180px;
    }
    .recruit1_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
    }
    .recruit1_message {
      top: -30px;
      font-size: 20vw;
    }
    .recruit1_box h3 {
      letter-spacing: 0;
    }
    .recruit1_box .recruit1_photo {
      width: 100%;
      display: block;
      order: 2;
    }
    .recruit1_box .recruit1_cont {
      width: 100%;
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      margin-bottom: 30px;
    }
    .recruit1_photo2 {
      text-align: center;
      margin-top: 0;
    }
    .recruit1_photo1 img, .recruit1_photo2 img {
      width: auto;
    }
    .recruit2 .image_r {
      margin-top: 0px;
    }
    .recruit3_cont .recruit3_col {
      width: 100%;
      padding: 40px 20px;
    }
    .recruit3_cont .recruit3_col:first-child {
      margin-bottom: 0px;
    }
    div.recruit4_box {
      width: 100%;
      padding: 30px 20px !important;
      margin-bottom: 0;
    }
    .recruit4_sec1 {
      min-height: auto;
      margin-bottom: 30px;
      padding-top: 0;
    }
    .recruit4_sec1 .recruit4_photo {
      right: 0;
      text-align: left;
    }
    .recruit4_sec1.first .recruit4_photo {
      top: 0px;
      margin-top: -20px;
    }
    .recruit4_photo {
      position: relative;
      top: 0px;
      width: 100%;
      padding: 0 10px;
      margin-top: -20px;
    }
    .recruit4_photo p::before {
      display: none;
    }
    .recruit4_photo p img {
      position: relative;
    }
    .recruit4_sec2 {
      min-height: auto;
      margin-bottom: 50px;
      padding-top: 0;
    }
    .recruit4_sec2 .recruit4_photo {
      left: 0;
      text-align: right;
      margin-top: -20px;
    }
    .recruit4_sec2 .recruit4_photo p {
      position: relative;
    }
    .recruit4_sec2 .recruit4_photo p::before {
      content: '';
      background-color: #6087C6;
      position: absolute;
      bottom: -10px;
      left: 10px;
      top: 10px;
      right: -10px;
    }
    .recruit4_sec2 .recruit4_photo p img {
      position: relative;
    }
    .recruit5_cont {
      display: block;
    }
    .recruit5_tabs_wrap {
      width: 100%;
    }
    .recruit5_list_tabs {
      position: relative;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .recruit5_list_tabs li {
      width: calc(100%/3);
      height: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      font-size: 3vw;
      line-height: 140%;
      padding: 10px 5px;
      background: #6087C6;
      -webkit-transition: ease-in-out .3s;
      -o-transition: ease-in-out .3s;
      transition: ease-in-out .3s;
      text-align: center;
      cursor: pointer;
      color: #FFF;
    }
    .recruit5_list_tabs li:hover, .recruit5_list_tabs li.active {
      background: #1f5c99;
    }
    .recruit5_tabs_txt {
      padding: 2%;
      position: relative;
      min-height: auto;
    }
    .recruit5_tabs_txt::after {
      display: none;
    }
    .recruit5_tabs_txt dt {
      font-size: 12px;
      font-weight: bold;
      color: #1f5c99;
      margin-bottom: 10px;
      line-height: 18px;
    }
    .recruit5_tabs_txt dd {
      font-size: 12px;
      line-height: 16px;
      padding-bottom: 20px;
    }
    .recruit_tbl th {
      display: block;
      width: 100%;
    }
    .recruit_tbl td {
      display: block;
    }
    .content_contact1 .ct_item, .content_contact3 div {
      width: 100%;
    }
    .modal_inner {
      height: 90%;
    }
    .modal_box {
      padding: 25px 20px 20px;
    }
    .modal_box p {
      font-size: 14px;
    }
    .modal_box p.modal_box_ttl {
      font-size: 18px;
    }
    .concept_acc_gr {
      display: block;
    }
    .concept_acc {
      width: 100%;
      position: relative;
      padding-bottom: 30px;
    }
    .concept_acc_cont .center {
      position: relative;
      left: auto;
      bottom: auto;
      width: 100%;
    }
    .box_h5_2col {
      margin-bottom: 0px;
    }
    .box_h5_2col .box_h5 {
      width: 100%;
    }
  }
  /*==========================================================================*/
  /*                             index page                                  	*/
  /*==========================================================================*/
  @media screen and (max-width:375px) {
    .under h2 {
      font-size: 16px;
      letter-spacing: 4px;
    }
  }
  @media screen and (max-width: 320px) {
    .sp_320 {
      display: block;
    }
    .concept_acc_tt {
      font-size: 16px;
    }
    .under h2 {
      font-size: 13px;
    }
    .ft_line_ttl {
      margin-bottom: 10px;
    }
    .ft_line_ttl dd {
      font-size: 72%;
      line-height: 12px;
    }
    .ft_line_ttl dd span {
      font-size: 11px;
    }
    .ft_line_list {
      margin-bottom: 10px;
    }
    /*  .ft_line_flow img {
    max-width: 60%;
  }*/
    .ft_line_tel a {
      font-size: 16px;
      margin-bottom: 5px;
    }
    .ft_line_tel span {
      font-size: 9px;
      line-height: 10px;
    }
  }
  @media screen and (max-width: 750px) {
    #perio.under .mainvisual {
      height: 130vw;
      max-height: 667px;
      background: url("../images/sp_perio_h2.jpg") no-repeat center/cover;
    }
    #perio.under .mainvisual .inner {
      justify-content: center;
      height: 100%;
      align-items: flex-start;
      padding-top: 8%;
    }
    #perio .mainvisual h2 {
      padding: 0;
    }
    #perio .mainvisual h2 .h2_sm {
      font-size: 4vw;
    }
    #perio .mainvisual h2 .h2_lg {
      font-size: 5.5vw;
    }
    #perio .perio_h3 {
      font-size: 20px;
      line-height: 1.6;
    }
    #perio .perio_h3 span {
      font-size: 30px;
      position: relative;
    }
    #perio .perio_h3 span.perio_h3_line:after {
      height: 10px;
      bottom: 3px;
    }
    #perio .perio_h3 span.perio_h3_line span {
      font-size: 30px;
    }
    #perio .perio_h3 .perio_h3_line span::before {
      height: 5px;
      width: 5px;
      top: -3px;
    }
    .b03-reason dl dt {
      padding: 9px 40px 8px 20px;
    }
    .b03-reason dl dt .num {
      width: 40px;
      height: 40px;
      font-size: 35px;
    }
    .b03-reason dl dt .sub-ttl {
      width: calc(100% - 40px);
      padding-left: 20px;
      font-size: 16px;
    }
    @media screen and (max-width: 320px) {
      .b03-reason dl dt .sub-ttl {
        padding-left: 10px;
        font-size: 14px;
      }
    }
    .b03-reason dl dt:after {
      background-size: 20px auto;
      width: 20px;
      height: 11px;
      right: 15px;
    }
    .b03-reason dl dd {
      padding: 20px 20px 10px;
    }
    #perio .perio2 {
      padding: 40px 0 20px;
      margin-bottom: 24px;
    }
    .perio_cont {
      width: 100%;
    }
    .perio_view_box {
      min-height: auto;
      margin-bottom: 40px;
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .perio_view_box:after {
      width: 100vw;
      background: url("../images/sp_perio_bg2.jpg") no-repeat top right;
      background-size: cover;
    }
    .perio_ttl1 {
      font-size: 20px;
      line-height: 1.6;
    }
    .perio_check li {
      line-height: 36px;
      font-size: 16px;
      padding-left: 30px;
      background: url("../images/check_yellow.png") no-repeat 0 10px;
      background-size: 20px 17px;
    }
    #perio .perio_h3_1 {
      font-size: 26px;
      line-height: 1.6;
    }
    #perio .perio_h3_1 .comma {
      font-size: 36px;
    }
    #perio .perio_h3_1 span.perio_h31_line:after {
      right: 10px;
      height: 10px;
      bottom: 0px;
    }
    #perio .perio_h3_1 .perio_h31_line span {
      font-size: 40px;
    }
    #perio .perio_h3_1 .perio_h31_line span::before {
      height: 8px;
      width: 8px;
      top: -5px;
    }
    #perio .perio4 {
      padding: 0 0 40px;
    }
    .perio4_ttl {
      font-size: 20px;
      line-height: 1.444;
      margin-bottom: 32px;
    }
    .perio4_ttl span {
      font-size: 26px;
    }
    .perio4_white {
      max-width: 96%;
      margin: -30px auto 0;
      padding: 20px;
    }
    .perio4_white_ttl {
      font-size: 20px;
      line-height: 1.444;
      margin-bottom: 20px;
    }
    .perio4_white_list {
      flex-wrap: wrap;
      justify-content: center;
    }
    .perio4_white_list li {
      margin: 5px 0;
      width: 100%;
      padding: 20px 10px !important;
    }
    .perio4_white_list li span {
      font-size: 20px;
      margin-top: 5px;
    }
    .perio4_note {
      width: 100%;
      margin-left: 0;
      margin-top: 5px;
    }
    #perio .perio3 {
      padding: 0 0 40px;
    }
    .perio3_ttl h4 {
      font-size: 24px;
      line-height: 1.4;
      padding: 22px 10px;
      margin-bottom: 0;
    }
    @media screen and (max-width: 320px) {
      .perio3_ttl h4 {
        font-size: 20px;
      }
    }
    .perio_ttl {
      line-height: 1.4;
      font-size: 22px;
    }
    @media screen and (max-width: 320px) {
      .perio_ttl {
        font-size: 18px;
      }
    }
    #perio .perio5 {
      padding: 0 0 40px;
    }
    .perio5 .perio3_ttl {
      margin-bottom: 10px;
    }
    .perio5_box dd {
      padding: 20px;
    }
    .perio3 .perio3_ttl {
      margin-bottom: 10px;
    }
    .under .perio_flow_ttl {
      font-size: 20px;
      line-height: 1.6;
      margin-bottom: 20px;
      letter-spacing: 2px;
    }
    .perio_flow_ttl:after {
      height: 2px;
      width: 65px;
      margin-top: 5px;
    }
    @media screen and (max-width: 320px) {
      .under .perio_flow_ttl {
        font-size: 16px;
      }
    }
    .perio_box {
      margin-bottom: 40px;
      min-height: auto;
    }
    .perio_box:nth-child(odd) .perio_photo {
      left: 0%;
    }
    .perio_box:nth-child(even) {
      align-items: flex-start;
    }
    .perio_box:nth-child(even) .perio_photo {
      right: 00%;
    }
    .perio_cont {
      width: 100%;
    }
    .perio_box:nth-child(odd) .perio_cont {
      padding-right: 00px;
    }
    .perio_box:nth-child(even) .perio_cont {
      padding-left: 0px;
    }
    .perio_photo {
      position: relative;
      top: 0;
      width: auto;
      height: auto;
      margin-bottom: 20px;
    }
    .box_h5_corona {
      margin-bottom: 40px;
      padding-top: 10px;
    }
    .under .box_h5_corona h5 {
      font-size: 21px;
      line-height: 32px;
    }
    div.peri0_corona_box {
      margin-top: -20px;
      padding: 40px 16px 32px 20px !important;
      width: calc(100% - 20px);
      position: relative;
      transform: translateX(0);
      left: auto;
      bottom: 0;
    }
  }
  @media screen and (max-width: 750px) {
    .box_h4_pay {
      padding: 20px 10px;
    }
    .box_h4_pay.fix .over_pay {
      display: grid;
      grid-template-columns: 1fr;
      grid-gap: 0px;
    }
    .over_pay {
      align-items: stretch;
    }
    .over_pay dl {
      width: 100%;
    }
    .over_pay dl {
      margin-bottom: 20px;
    }
    .over_pay dt {
      font-size: 18px;
    }
    .over1_lst li {
      width: 50%;
    }
    .over1_icon img {
      max-width: 96px;
    }
    .over1_text .sm {
      font-size: 12px;
    }
    .over1_text .lg {
      font-size: 16px;
    }
  }
  @media screen and (max-width: 480px) {
    .over_pay dt {
      font-size: 14px;
      padding-right: 10px;
    }
    .over1_lst li {
      width: 100%;
    }
    .box_h4_code {
      margin-top: 10px;
    }
    .pay_qrcode {
      flex-direction: column;
    }
    .pay_qrcode figure {
      margin: 0 auto;
    }
    .pay_qrcode dl {
      margin-left: 0px;
      margin-top: 10px;
    }
    .pay_qrcode dd {
      padding: 10px;
    }
    .pay_link {
      font-size: 16px;
    }
    #index .index1 .index1_contact .index1_contact_note li {
      flex-wrap: wrap;
      margin-bottom: 10px;
      justify-content: center;
    }
    #index .index1 .index1_contact .index1_contact_note li p.index1_contact_note_cnt {
      width: 100%;
      margin-top: 5px;
    }
    #index .index1 .index1_contact .index1_contact_btn {
      max-width: 280px;
    }
    .none_1420 {
      display: none !important;
    }
    #index .index1 .index1_contact .index1_contact_note {
      flex-wrap: wrap;
    }
  }
  /*----------------------infectioncontrol------------------------------*/
  @media screen and (max-width: 750px) {
    #infectioncontrol .mainvisual {
      background: url("../images/sp_infectioncontrol_main.jpg") no-repeat center/cover;
      height: 100vh;
      padding: 60px 10px 10px;
      margin-top: 0px;
      max-height: inherit;
      width: 100%;
      overflow: hidden;
      align-items: flex-start;
    }
    #infectioncontrol .mainvisual_in {
      width: 100%;
      text-align: center;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding-top: 5%;
    }
    #infectioncontrol .mainvisual figure {
      text-align: left;
      max-width: 336px;
      width: 60%;
    }
    .control_h2 {
      font-size: 260%;
      line-height: 1.8;
      margin-bottom: 10%;
    }
    .control_h2 > span {
      background: linear-gradient(0deg, rgba(255, 231, 0, .5) 0%, rgba(255, 231, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
      background-position: bottom 2px left;
    }
    .control_h2 > span > span::before {
      /*height: 8px;
	width: 8px;
	top: -8px;*/
      display: none;
    }
    .control_catch {
      font-size: 180%;
      line-height: 1.6;
      margin-bottom: 0;
    }
    .control_catch_box {
      margin-bottom: 10%;
      display: inline-block;
      width: 96%;
    }
    .control_catch_cont {
      padding: 10% 2%;
    }
    .control_catch_box::before {
      height: 25px;
      width: 25px;
      top: 10px;
      left: 10px;
    }
    .control_catch_box::after {
      height: 25px;
      width: 25px;
      top: 10px;
      right: 10px;
    }
    .control_catch_cont::before {
      height: 25px;
      width: 25px;
      left: 10px;
      bottom: 10px;
    }
    .control_catch_cont::after {
      height: 25px;
      width: 25px;
      bottom: 10px;
      right: 10px;
    }
    .control_catch_box .catch1 {
      font-size: 200%;
    }
    .control_catch_box .catch1 span {
      font-size: 120%;
    }
    .control_catch_box p {
      font-size: 180%;
      line-height: 1.6;
    }
    .control_catch_lst {
      transform: translate(30%, -50%);
      width: 80px;
      height: 80px;
    }
    .control_catch_lst span {
      font-size: 16px;
    }
    .control_catch_lst span::after {
      content: '';
      position: absolute;
      border-right: solid 30px #FFE700;
      border-top: solid 10px transparent;
      border-bottom: solid 10px transparent;
      left: 2px;
      bottom: 2px;
      transform: rotate(-30deg);
    }
    .control_time {
      background-color: rgba(255, 255, 255, .8);
      padding: 10px 5px 5px;
    }
    .control_time_title {
      text-align: center;
      font-size: 14px;
      font-weight: bold;
    }
    .control_time th, .control_time td {
      line-height: 22px;
      font-size: 12px;
    }
    .mainvisual .control1_btn {
      padding-left: 0;
      padding-right: 0;
      justify-content: center;
      position: relative;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      width: 100%;
      max-width: 400px;
      margin: 0 auto;
    }
    .mainvisual .control1_btn li {
      width: 100%;
    }
    .mainvisual .control1_btn a {
      display: flex;
      justify-content: center;
      font-family: "游明朝", YuMincho;
      font-weight: bold;
      font-size: 20px;
      border-radius: 100px;
      padding: 10px;
      line-height: 20px;
      box-shadow: none;
    }
    .mainvisual .control1_btn .control1_btn_tel {
      width: 100%;
    }
    .mainvisual .control1_btn_tel a {
      font-size: 20px;
    }
    .mainvisual .control1_btn_tel a::before {
      width: 20px;
      height: 20px;
      margin-right: 5px;
    }
    .mainvisual .control1_btn .reser_note {
      left: 0;
    }
    .control_h3 {
      font-size: 170%;
      line-height: 2;
      margin-bottom: 20px;
    }
    .control_h3 > span > span::before {
      height: 5px;
      width: 5px;
      top: -6px;
    }
    .control1_in {
      margin-top: 0px;
      padding: 20px 10px;
    }
    .control1.fixed .control1_in {
      padding: 40px 10px 20px;
    }
    .control1.fixed .control1_close {
      width: 40px;
      height: 40px;
    }
    .control1.fixed .control1_close span {
      transform: translateX(-12px);
    }
    .control1.fixed .control1_close span::before {
      width: 25px;
    }
    .control1.fixed .control1_close span::after {
      width: 25px;
    }
    .control1 h3 {
      font-size: 170%;
      line-height: 2;
      margin-bottom: 20px
    }
    .control1_lst {
      display: block;
    }
    .control1_l {
      width: 100%;
      padding-right: 0;
      margin-bottom: 40px;
    }
    .control_cir {
      justify-content: center;
      margin-bottom: 20px;
    }
    .control_cir li {
      width: 140px;
      height: 140px;
      font-size: 18px;
      line-height: 26px;
      margin: 5px;
    }
    .control1_l_text {
      font-size: 160%;
      margin-bottom: 30px;
    }
    .control1_btn {
      display: block;
    }
    .control1 .control1_btn li {
      width: 100%;
      margin: 0 auto 20px;
    }
    .control1 .control1_btn_tel a {
      font-size: 200%;
      padding: 18px 20px 17px;
      line-height: 36px;
    }
    .control1_btn_tel a::before {
      width: 36px;
      height: 36px;
    }
    .control1_btn_line a {
      font-size: 200%;
      padding: 18px 20px 17px;
      line-height: 36px;
    }
    .control1_btn_line a::before {
      width: 36px;
      height: 36px;
    }
    .control1_r {
      width: 100%;
    }
    .control1_r dd {
      font-size: 140%;
    }
    .control2 {
      padding: 2% 0 0;
    }
    .control2_cont {
      width: 100%;
    }
    .control2_cont h3 {
      margin-bottom: 20px;
      font-size: 220%;
      line-height: 1.6;
    }
    .control2_list {
      display: block;
      text-align: center;
    }
    .control2_list li {
      font-size: 180%;
      margin: 10px 0;
      border-radius: 15px;
      padding: 10px;
    }
    .control2_arr img {
      max-width: 51px;
      height: auto;
    }
    .control2_photo {
      width: 100%;
      height: 60vw;
      position: relative;
    }
    .control3 {
      width: 96%;
      margin: 3% auto;
      padding: 5%;
    }
    .control3 h4 {
      font-size: 180%;
      line-height: 1.6;
      margin-bottom: 20px;
    }
    .control3 p {
      font-size: 140%;
      line-height: 1.5;
    }
    .control3_photo {
      display: block;
    }
    .control3_photo dl {
      width: 100%;
      max-width: 480px;
      margin: 30px auto 0;
    }
    .control3_photo ul {
      justify-content: space-between;
    }
    .control3_photo ul li {
      margin: 0;
      width: 48%;
    }
    .control3 .control3_photo_cap {
      line-height: 1;
      font-size: 90%;
      margin-bottom: 0;
      letter-spacing: 0;
      padding: 15px 10px;
    }
    .control_ttl1 h3 {
      font-size: 140%;
      padding: 5% 1% 12%;
      line-height: 2;
    }
    .control12 {
      padding: 3% 0 0;
    }
    .control12 .inner {
      padding: 0 10px;
    }
    .control12 h4 {
      font-size: 200%;
    }
    .control12 h4 .f_lg {
      background-position: bottom 2px left;
    }
    .control12 h4 .f_lg span::before {
      height: 5px;
      width: 5px;
      top: -7px;
    }
    .control12_text {
      padding-bottom: 30px;
    }
    .control12_text p {
      font-size: 140%;
    }
    .control12_ttl {
      font-size: 180%;
      margin-bottom: 30px;
    }
    .control12 .control_ttl4 h4 {
      margin: 20px 0;
      font-size: 100%;
    }
    .control_ttl4 {
      margin-bottom: 60px;
    }
    .control_ttl4 {
      font-size: 200%;
    }
    .control_ttl4::after {
      background: url("../images/arrow1.png") no-repeat center/contain;
      width: 52px;
      height: 60px;
      bottom: -60px;
    }
    .control4 {
      padding: 3% 0;
    }
    .control4_ttl {
      width: 100%;
      position: relative;
    }
    .control4_ttl p {
      font-size: 140%;
    }
    div.control4_text p {
      font-size: 140%;
    }
    .control4_ttl .f_bor {
      background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
      background-position: bottom 2px left;
    }
    .control4_ttl .f_bor span::before {
      height: 5px;
      width: 5px;
      top: -8px;
    }
    .control4_cont {
      display: block;
    }
    .control4_photo {
      width: 100%;
      text-align: center;
      margin-bottom: 5%;
    }
    div.control4_text {
      width: 100%;
      margin-bottom: 0 !important;
      padding-right: 10px;
      padding-left: 10px;
    }
    .control5 {
      padding: 5% 10px;
    }
    .control5 h3 {
      font-size: 200%;
      line-height: 2;
      margin-bottom: 20px;
    }
    .control5_bnr {
      margin-bottom: 5%;
    }
    .control5_bnr li {
      width: 100%;
      height: auto;
      margin: 2% 0;
      font-size: 180%;
      line-height: 1.6;
      padding: 8% 5%;
    }
    .control5_photo1 {
      margin-bottom: 10%;
    }
    .control5_h4 {
      font-size: 160%;
      margin: 20px 0;
    }
    .control5_text {
      font-size: 140%;
    }
    .control5_box {
      display: block;
      margin-bottom: 40px;
    }
    .control5_photo2 {
      display: block;
    }
    .control5_photo2 figure {
      width: 100%;
    }
    .control5_movie {
      margin-bottom: 20px;
      width: 100%;
    }
    .control5_movie iframe {
      width: 100%;
      height: 50vw;
    }
    .control6 {
      padding: 10% 10px;
      justify-content: center;
      display: block;
    }
    .control6 h3 {
      font-size: 180%;
      margin: 0 0 5%;
      line-height: 1.6;
      padding-left: 0%;
      text-align: center;
    }
    .control6 h3 .f_lg {
      font-size: 150%;
      background-position: bottom 2px left;
    }
    .control6 h3 .f_lg span::before {
      height: 5px;
      width: 5px;
      top: -8px;
    }
    .control6_in {
      position: relative;
      top: 0;
      left: 0;
      width: 100%;
    }
    .control6_box {
      background-image: url("../images/sp_shape1.svg");
      padding: 8%;
      width: 93vw;
      height: 80vw;
      max-width: 350px;
      max-height: 300px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
    }
    .control6_photo {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 35%;
    }
    .control_check li {
      color: #1F5C99;
      font-weight: bold;
      line-height: 1.5;
      font-size: 120%;
      margin: 0;
      position: relative;
      padding: 5px 0 5px 35px;
    }
    .control_check li span {
      font-size: 135%;
    }
    .control_check li::before {
      width: 25px;
      height: 20px;
    }
    .control7 {
      padding: 10% 10px;
      display: block;
      position: relative;
    }
    .control7 h3 {
      font-size: 180%;
      margin: 0 0 5%;
      line-height: 1.6;
      text-align: center;
    }
    .control7 h3 .f_lg {
      font-size: 150%;
      background-position: bottom 2px left;
    }
    .control7 h3 .f_lg span::before {
      height: 5px;
      width: 5px;
      top: -8px;
    }
    div.control7_in {
      width: 100%;
    }
    .control7_photo {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 30%;
      max-width: 532px;
    }
    .control7_box {
      padding: 5% 5% 5% 30%;
    }
    .control_ttl2 .h3_ttl1 {
      padding-top: 3%;
    }
    .control_ttl2 .h3_ttl1 .sp {
      line-height: 0;
    }
    .control_ttl2 .h3_ttl1 > span {
      font-size: 180%;
      text-align: center;
      line-height: 1.6;
    }
    .control_ttl2 .h3_ttl1 .f_lg {
      font-size: 120%;
      background-position: bottom 2px left;
    }
    .control_ttl2 .h3_ttl1 .f_lg span::before {
      height: 5px;
      width: 5px;
      top: -5px;
    }
    .control8 h4 {
      font-size: 180%;
      line-height: 1.6;
    }
    .control8 h4 .f_bor {
      font-size: 150%;
      background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
      background-repeat: repeat-x;
      background-position: bottom 3px left;
      display: inline;
    }
    .control8_in {
      width: 100%;
      padding: 0 10px;
    }
    .control8_flow_item {
      display: block;
      padding: 10% 0;
    }
    .control8_photo {
      margin-left: 0%;
      text-align: center;
      margin-bottom: 5%;
    }
    .control8_flow_item dl {
      width: 100%;
      padding-left: 0%;
    }
    .control8_flow_item:nth-child(even) .control8_photo {
      margin-right: 0%;
    }
    .control8_flow_item:nth-child(even) dl {
      padding-right: 0%;
    }
    .control_num {
      width: 100px;
      height: 100px;
      font-size: 60px;
      top: -10px;
      left: -10px;
    }
    .control8_flow dt {
      font-size: 180%;
      margin-bottom: 3%;
    }
    .control8_flow dd {
      font-size: 140%;
    }
    .control_contact {
      padding: 2%;
    }
    div.control_contact_in {
      width: 100%;
      padding: 10% 5% !important;
    }
    .control_contact_in h3 {
      margin-bottom: 8%;
      line-height: 1;
    }
    .control_contact_in h3 .en {
      font-size: 14px;
      margin-bottom: 10px;
    }
    .control_contact_in h3 .jp {
      font-size: 20px;
    }
    .control_contact_text {
      max-width: 100%;
      margin: 0 auto 10%;
    }
    .control_contact_text p {
      line-height: 1.6;
      font-size: 140%;
    }
    .control_reser_btn {
      flex-wrap: wrap;
    }
    .control_reser_btn li {
      margin: 2% auto;
      width: 100%;
    }
    .control_reser_btn li a {
      border-radius: 20px;
      padding: 10px;
      font-size: 18px;
    }
    .control_ttl3 {
      padding: 8% 1%;
    }
    .control_ttl3 h3 {
      font-size: 200%;
    }
    .control9 {
      padding: 0 0 5% 0%;
    }
    .control9_in {
      position: relative;
      min-height: auto;
      width: 100%;
      padding: 8% 5%;
      margin: 0 auto;
    }
    .control9_cont {
      background-color: rgba(255, 255, 255, .8);
      padding: 8% 5%;
    }
    .control9_in::before {
      background-size: contain;
      width: 60%;
      height: 60%;
      max-width: 762px;
      max-height: 690px;
    }
    .control9_in::after {
      background: url("../images/control9_after.png") no-repeat 0 0;
      background-position: bottom right;
      background-size: contain;
      width: 50%;
      height: 50%;
      max-width: 350px;
      max-height: 560px;
    }
    .control9_cont dl:not(:last-child) {
      margin-bottom: 8%;
    }
    .control9_cont dt {
      font-size: 180%;
    }
    .control9_cont dd {
      font-size: 140%;
    }
    .control10 {
      padding: 10% 0;
    }
    .control10_head {
      padding: 0 10px;
    }
    .control10 h3 {
      font-size: 160%;
      margin-bottom: 3%;
    }
    .control10_list {
      padding: 0 10px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
    }
    .control10_item {
      width: 100%;
      max-width: 560px;
      margin: 5% auto;
      border-radius: 20px;
    }
    .control10_item dt {
      font-size: 160%;
      margin-bottom: 5%;
    }
    .control10_item dd {
      font-size: 140%;
    }
    .control11 {
      padding-bottom: 10%;
    }
    div.control11_in {
      width: 96%;
      margin: -10% auto 0;
      border-radius: 25px;
      padding: 5% !important;
    }
    .control11_in h4 {
      font-size: 180%;
      margin-bottom: 5%;
    }
    .control13 {
      padding: 10% 0;
    }
    .control13_in {
      width: 100%;
    }
    .control13 h3 {
      font-size: 200%;
    }
    .control13 p {
      font-size: 180%;
      line-height: 1.5;
    }
    .control14 {
      padding: 10% 0;
    }
    .under .box_h4_pay h4, .box_h4_pay h4 {
      font-size: 200%;
      margin-bottom: 25px;
    }
    .box_h4_pay h4::after {
      height: 5px;
      width: 100px;
      background-color: #789DC2;
      border-radius: 3px;
      bottom: -10px;
    }
    .box_pay_text {
      font-size: 160%;
    }
    .control15 {
      padding-bottom: 50px;
    }
    .control15 .inner {
      padding: 0 10px;
    }
    .control_lst {
      display: block;
      margin-top: 40px;
    }
    .control_lst dl {
      width: 100%;
      border: solid 1px #cccccc;
    }
    .control_lst dl:first-child {
      border-right: solid 1px #cccccc;
      border-bottom: none;
    }
    .control_lst dt {
      min-height: auto;
      display: block;
      font-size: 18px;
    }
    .control_lst dd {
      padding: 10px;
    }
    .under .taglist {
      padding: 20px;
    }
  }
  @media screen and (orientation: landscape) and (max-width:750px) {
    #infectioncontrol .mainvisual {
      padding-bottom: 0;
    }
    #infectioncontrol .mainvisual_in {
      padding-top: 25px;
    }
    #infectioncontrol .control_catch_box {
      margin-bottom: 10px;
      width: 65%;
    }
    #infectioncontrol .control_catch_box p {
      font-size: 160%;
      line-height: 1.4;
    }
    .control_catch_box p > span {
      background-position: bottom 0 left;
    }
    .control_catch_box p > span > span::before {
      top: -4px;
    }
    #infectioncontrol .mainvisual figure {
      order: 1;
      max-width: 336px;
      width: 40%;
    }
    .control_h2 {
      font-size: 3.5vw;
      line-height: 1.6;
      margin-bottom: 0%;
    }
    .control_catch {
      font-size: 2vw;
    }
    .control_list li {
      height: 15vw;
      width: 15vw;
      font-size: 2vw;
    }
  }
  @media screen and (max-width: 320px) {
    #index h2 {
      font-size: .8rem;
    }
    .main_bottom_bar {
      height: 80px;
    }
    .main_bottom_bar a {
      height: 40px;
    }
    .control_h2 {
      font-size: 220%;
    }
    .control_catch {
      font-size: 160%;
    }
    .control_list li {
      height: 100px;
      width: 100px;
      font-size: 140%;
    }
    .idx_bnr dt {
      font-size: .6rem;
    }
    .idx_bnr dd {
      font-size: .55rem;
    }
  }
  @media screen and (max-width:320px) {
    .control3_photo dt span {
      width: 100%;
      font-size: 180%;
    }
    .control3 .control3_photo_cap {
      font-size: 80%;
    }
    .mainvisual .control1_btn a {
      font-size: 12px;
    }
  }
  @media screen and (max-width: 320px) {
    .control_time th, .control_time td {
      line-height: 18px;
      font-size: 10px;
    }
    .control6_box {
      width: 90vw;
      height: 77vw;
    }
    .control6_photo {
      width: 30%;
    }
    .control_check li {
      font-size: 110%;
    }
  }
  @media screen and (max-width:320px) {
    .control_catch_box p {
      font-size: 140%;
    }
    .control_catch_box .catch1::after {
      border-width: 10px;
    }
    .control4_ttl p {
      font-size: 125%;
    }
    .control1 h3 {
      font-size: 160%;
    }
  }
  @media screen and (max-width:640px) {
    .root_tbl th, .root_tbl td {
      display: block;
      width: 100%;
      margin-top: -1px;
      font-size: 180%;
    }
    .box_content {
      padding: 30px 20px;
    }
    .u_bnr_list {
      max-width: 400px;
      margin: 0 auto;
    }
    .u_bnr_list li {
      width: 100%;
      margin: 1% 0;
    }
  }
  @media screen and (max-width:750px) {
    .pop1.fixed .pop1-in {
      padding: 60px 20px 40px;
      max-width: 96%;
    }
    .pop1 .center {
      font-size: 120%;
    }
    .pop1-ttl {
      font-size: 20px;
    }
    .pop1-lst li {
      padding: 0;
    }
    .pop1-lst a {
      font-size: 16px;
    }
    .pop1-lst a::before {
      top: 9px;
    }
    #root.under .mainvisual {
      height: 130vw;
      max-height: 667px;
      background: url("../images/sp_root_h2.jpg") no-repeat center/cover;
    }
    #root.under .mainvisual .inner {
      justify-content: center;
      height: 100%;
      align-items: flex-start;
      padding-top: 8%;
    }
    #root .mainvisual h2 {
      padding: 0;
    }
    #root .mainvisual h2 .h2_sm {
      font-size: 4vw;
    }
    #root .mainvisual h2 .h2_lg {
      font-size: 4.6vw;
    }
    #whitening.under .mainvisual {
      height: 130vw;
      max-height: 667px;
      background: url("../images/sp_whitening_h2.jpg") no-repeat center/cover;
    }
    #whitening.under .mainvisual .inner {
      justify-content: center;
      height: 100%;
      align-items: flex-end;
      padding-bottom: 8%;
    }
    #whitening .mainvisual h2 {
      padding: 0;
    }
    #whitening .mainvisual h2 .h2_sm {
      font-size: 4vw;
    }
    #whitening .mainvisual h2 .h2_lg {
      font-size: 4.6vw;
    }
    #general.under .mainvisual {
      height: 130vw;
      max-height: 667px;
      background: url("../images/sp_general_h2.jpg") no-repeat center/cover;
    }
    #general.under .mainvisual .inner {
      justify-content: center;
      height: 100%;
      align-items: flex-start;
      padding-top: 8%;
    }
    #general .mainvisual h2 {
      padding: 0;
    }
    #general .mainvisual h2 .h2_sm {
      font-size: 3.8vw;
    }
    #general .mainvisual h2 .h2_lg {
      font-size: 4.6vw;
    }
    #bridge.under .mainvisual {
      height: 130vw;
      max-height: 667px;
      background: url("../images/sp_bridge_h2.jpg") no-repeat center/cover;
    }
    #bridge.under .mainvisual .inner {
      justify-content: center;
      height: 100%;
      align-items: flex-start;
      padding-top: 8%;
    }
    #bridge .mainvisual h2 {
      padding: 0;
    }
    #bridge .mainvisual h2 .h2_sm {
      font-size: 4.2vw;
    }
    #bridge .mainvisual h2 .h2_lg {
      font-size: 5.8vw;
    }
    .box_h5_wrap {
      padding: 20px 10px;
      margin-bottom: 20px;
    }
    .img-2col {
      margin-left: -10px;
      margin-bottom: 0;
    }
    .img-2col li {
      width: calc(100%/2 - 10px);
      margin-left: 10px;
      margin-bottom: 10px;
    }
  }
  @media screen and (max-width: 750px) {
    .index_tab {
      padding: 60px 0 0;
    }
    .index_tab div.tabs_wrap {
      margin-bottom: 0 !important;
      padding: 20px 10px !important;
    }
    .top_tabs {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
    }
    .top_tabs li {
      width: calc(100%/4);
      font-family: "游明朝", YuMincho;
      font-size: 120%;
      line-height: 1;
      padding: 15px 5px;
      font-weight: bold;
      background: #FFF;
      -webkit-transition: ease-in-out .3s;
      -o-transition: ease-in-out .3s;
      transition: ease-in-out .3s;
      text-align: center;
      cursor: pointer;
      background-color: #ededed;
    }
    .top_tabs li:hover, .top_tabs li.active {
      background: #1f5c99;
      color: #FFF;
    }
    .gnavi_info_menu li {
      margin-bottom: 15px;
      text-align: center;
    }
    .gnavi_info_menu a {
      text-align: center;
      color: #FFF;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 60px;
      max-width: 295px;
      width: 100%;
      line-height: 1.4;
      margin: 0 auto;
      font-size: 18px;
      font-weight: bold;
    }
    .mn_contact a {
      background-color: #1f5c99;
    }
    .mn_line a {
      background-color: #1f5c99;
    }
    .gnavi_info_tel {
      margin-bottom: 15px;
      text-align: center;
      font-size: 140%;
    }
    .gnavi_info_reser_btn li {
      text-align: center;
    }
    .gnavi_info_reser_btn a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      width: 100%;
      max-width: 300px;
      background-color: #FFF;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      border-radius: 30px;
      height: 60px;
      -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
      margin: 0 auto;
      line-height: 1;
    }
    .gnavi_info_reser_btn span {
      color: #1f5c99;
      font-size: 18px;
      margin-left: 10px;
      font-weight: bold;
      transform: translateY(2px);
    }
    .gnavi_info_web {
      margin-top: 20px;
    }
    .gnavi_info_web a span {
      font-size: 15px;
      line-height: 1.5;
    }
    .gnavi_info_web a span .txt_small {
      font-size: 12px;
    }
    .gnavi_info_note {
      font-size: 12px;
      margin-top: 15px;
    }
    .top_tabs_menu li {
      padding: 2px 0;
    }
    .top_tabs_menu a {
      font-size: 12px;
      line-height: 1;
      position: relative;
      padding: 10px;
      display: block;
      color: #1f5c99;
      border: solid 1px #1f5c99;
    }
    .top_tabs_menu a::after {
      content: '';
      display: inline-block;
      position: absolute;
      border-left: solid 5px #1f5c99;
      border-top: solid 4px transparent;
      border-bottom: solid 4px transparent;
      right: 5px;
      top: 50%;
      transform: translateY(-50%);
    }
    .gnavi_info_ttl {
      text-align: center;
      font-family: "游明朝", YuMincho;
      font-size: 200%;
      font-weight: bold;
      margin-bottom: 10px;
    }
    .gnavi_info_tbl {
      border: #1f5c99 solid 1px;
      width: 100%;
      margin-bottom: 10px;
    }
    .gnavi_info_tbl th, .gnavi_info_tbl td {
      border-top: #1f5c99 solid 1px;
      border-bottom: #1f5c99 solid 1px;
      border-left: none;
      border-right: none;
      font-size: 12px;
      letter-spacing: 0px;
      padding: 8px 2px;
    }
    .gnavi_info_tbl th {
      width: 130px;
    }
    .gnavi_info_txt {
      font-size: 13px;
      margin-bottom: 0;
    }
    .gnavi_info_list li {
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 3px;
      height: 2em;
      font-size: 13px;
      color: #1f5c99;
      width: 100%;
      max-width: 295px;
      border: solid 1px #1f5c99;
      margin: 0 auto 10px;
    }
    .gnavi_info_add {
      font-size: 12px;
      text-align: center;
    }
    .wp-pagenavi a, .wp-pagenavi span {
      font-size: 14px;
    }
    table.normal th {
      width: 30%;
    }
    .shorei {
      display: block;
    }
    .shorei .photo {
      width: auto;
    }
    .root-item {
      display: block;
    }
    .root-inner {
      width: 100%;
    }
    .case_box .title-zone {
      font-size: 20px;
    }
  }
  @media screen and (max-width: 320px) {
    .gnavi_info_add {
      font-size: 10px;
    }
    .u_bnr_note {
      font-size: 110%;
      line-height: 1.6;
    }
  }
  @media screen and (max-width: 1420px) {
    .none_1420 {
      display: block;
    }
  }
  @media screen and (max-height: 768px) {
    .sidecontact .txt_fixR span {
      font-size: 8px;
      letter-spacing: 0;
    }
  }
  @media screen and (max-width: 750px) {
    .none_1420 {
      display: none !important;
    }
    .under .flex2 {

      margin: 20px 0;
  }
	  .block-list {
		 display: flex;
		flex-wrap: wrap;
		justify-content: center; 
    grid-column-gap: inherit;
    max-width: 450px;
    margin: 0 auto;
	  }
	  
	  .block-list li {
      width: calc((100% / 2) - 10px );
    height: auto;
   background: none;
		  display: flex;
    justify-content: center;
		  align-items: center;
      margin-right: 10px;
	}
  .block-list li:nth-child(2n){
    margin-right: 0;
  }
  .block-list li::before ,.block-list li::after{
    display: none;
  }
  .concept_staff {
    flex-wrap: wrap;
  }
  .w_img {
    margin:0 auto 15px;
    max-width: 100%;
  }
  }
  @media screen and (max-width: 768px){
    #index .mainvisual .inner {
      height: calc(100vh - 250px);
  }
  #index #slider .slider_detail img {
    height: 100vh;
    object-fit: cover;
}
  }
  @media screen and (max-width: 600px) {
    .none_1420 {
      display: block !important;
    }
  }
  @media screen and (max-width: 480px) {
    .none_1420 {
      display: none !important;
    }
    .block-list li p::after {
      background-position-x: 25px;
    }
    .under .flex2 {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      flex-direction: column;
      margin-bottom: 20px;
  }
  .under .flex2 .iten{
    width: 100%;
    text-align: center;
    border-left: 2px solid !important;
    border-right: 2px solid;
  }
  }
  @media screen and (max-width: 414px) {
    .block-list li {
      height: 140px;
    }
    .block-list li p {
      background-position-x: 43px;
    }
    .block-list li p::after {
      background-position-x: 23px;
  }
.block-list li p{
  height: 100%;
  padding: 0px 20px;
}
  }
@media (max-width: 390px) {
	.block-list {
		grid-column-gap: 10px;
	}
	.block-wrapper {
		padding: 20px 15px;
	}
	.block-list li p {
	
		font-size: 12px;
	}
  .block-list li p {
    background-position-x: 25px;
}
.block-list li p::after {
  background-position-x: 5px;
}
.block-list li {
  height: 125px;
}
}
@media (max-width: 320px) {
  .block-list li {
  height: 100px;
}
.block-list li p::after ,.block-list li p{
  background-position-x: -10px;
}
}
