@charset "utf-8";


/*----- ここからindex.htmlのheader
＜スマホ・タブレット＞ -----********/
  
@media screen and (max-width: 768px) {

/* ここからハンバーガー全画面ナビメニュー */
  #nav-toggle {
    position: absolute; /*fixedでナビ上に固定*/
    top: 65px;
    right: 5%;
    height: 44px;
    width: 50px;
    cursor: pointer;
    background:rgba(68, 197, 255, 0.35);
    padding: 10px;
  }
  
  #nav-toggle > div {
    position: relative;
    width: 30px;
  }
  #nav-toggle span {
    width: 100%;
    height: 2px;
    left: 0;
    display: block;
    background: #444444;
    position: absolute;
    transition: transform 0.6s ease-in-out, top 0.5s ease;
  }
  
  #nav-toggle span:nth-child(1) {
    top: 0;
  }
  
  #nav-toggle span:nth-child(2) {
    top: 12px;
  }
  
  #nav-toggle span:nth-child(3) {
    top: 24px;
  }
  
  #nav-toggle:hover span:nth-child(1) {
    top: 4px;
  }
  
  #nav-toggle:hover span:nth-child(3) {
    top: 20px;
  }

  .open #nav-toggle span {
    background: #444444;
  }
  .open #nav-toggle span:nth-child(1) {
    top: 12px;
    transform: rotate(45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    top: 12px;
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 12px;
    transform: rotate(-45deg);
  }

  /* z-index */
  #nav-toggle {
    z-index: 1000;
  }

  #g_nav {
    width: auto;
    background: rgb(255, 255, 255);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    text-align: center;
    display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: -ms-flexbox; /* IE10 */
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
  /*  transition: opacity 0.6s ease, visibility 0.6s ease;*/
  }
  
  #g_nav ul li {
    border: none;
  }

  #g_nav ul li a {
    display: block;
    font-size: 2rem;
    text-decoration: none;
    padding: 0;
    transition: color 0.6s ease;
    color: #444444;
    border-radius: 0px;
    font-family: 'Lora', serif;
  }
  
  #g_nav ul li a:hover {
    opacity: 1;
    color: #888888;  
    background: none;
  }

  #g_nav ul {
    list-style: none;
  }
  
  #g_nav ul li {
    line-height: 1.2;
    margin-right: 0px;
    padding: 0px;
    margin: 35px 0;
    float: none;
    opacity: 0;
/*    transform: translateX(200px);*/
/*    transition: transform 0.6s ease, opacity 0.2s ease;*/
  }
  
  #g_nav ul li:last-child {
    margin-right: 0px;
  }

  #g_nav ul li:nth-child(2) {
    transition-delay: 0.05s;
  }
  #g_nav ul li:nth-child(3) {
    transition-delay: 0.1s;
  }
  #g_nav ul li:nth-child(4) {
    transition-delay: 0.15s;
  }
  #g_nav ul li:nth-child(5) {
    transition-delay: 0.2s;
  }
  #g_nav ul li:nth-child(6) {
    transition-delay: 0.25s;
  }
  #g_nav ul li:nth-child(7) {
    transition-delay: 0.3s;
  }

  /* open */
  .open {
    overflow: hidden;
    
  }
  .open #g_nav {
    visibility: visible;
    opacity: 1;
  }
  .open #g_nav li {
    opacity: 1;
    transform: translateX(0);
    transition: transform 1s ease, opacity 0.9s ease;
  }
/*ここまでハンバーガー全画面ナビメニュー */
}

  .rec_name h2 {
    bottom: 10%;
    font-size: 1.6rem;
  }

  .rec_name p {
    bottom: 3%;
    font-size: 1.5rem;
  }

@media screen and (max-width: 667px) {

  #greeting section {
    width: 100%;
    padding: 0 0 3%; 
  }
  
  #greeting .pict_box {
    width: 100%;
  }
  
  .news_box .blog, .news_box .tenshi_hane {
    width: 100%;
    margin: 5% 0 0 0;
  }
  
  .news_box .blog:hover, .news_box .tenshi_hane:hover {
    transform: rotate(-0deg);
    box-shadow: 1px 1px 5px #555555;
  }
  
  .news_box .blog a, .news_box .tenshi_hane a{
    padding: 10% 3% 8%;
  }
  
  /* .news_box .blog a br{
    display: none;
  } */
  
  
  .blog a h2, .tenshi_hane a h2 {
    font-size: 2.0rem;
    line-height: 1.2;
    text-align: center;
  }
  
  .news_box .blog_title, .news_box .tenshi_hane_title{ 
    top: -8px;
    right: 0px;
    padding: 2% 5%;
    font-size: 1.5rem;
  }
  
/* 旧ブログここから */

  .past_blog {
    font-size: 1.4rem;
    padding: 4% 0 4%;
  }

/* 旧ブログここまで */
  
  .news_box .news_link {
    width: 100%;
    max-height: 170px;
    min-height: 140px;
    padding: 2% 0;
    margin: 5% 0 5%;
    font-size: 1.5rem;
  }
  
  .news_box .news_link dl{
    width: 100%;
    line-height: 1.3;
    overflow: hidden;
  }

  .news_box .news_link dt{
    float: left;
    clear: both;  /* クリアを解除 */
    padding: 5% 0 5% 2%;
  }

  .news_box .news_link dd{
    border-bottom: 1px dashed #888888;
    text-align: left;
    padding: 5% 2% 5% 28%;
  }
  
  li.rec_bt01 {
    max-width: 49%;
    margin: 2% 2% 0% 0;
  }
  
  li.rec_bt01:nth-child(3n)  {
    margin: 2% 2% 0 0;
  }
  
  li.rec_bt01:nth-child(2n)  {
    margin: 2% 0% 0 0;
  }
  
  .rec_name h2 {
    bottom: 10%;
    font-size: 1.5rem;
  }

  .rec_name p {
    bottom: 3%;
    font-size: 1.4rem;
  }
  
  @media screen and (max-width: 375px) {
    
  .rec_name h2 {
    bottom: 10%;
    font-size: 1.2rem;
    letter-spacing: 1px;
  }

  .rec_name p {
    bottom: 3%;
    font-size: 1.2rem;
    letter-spacing: 1px;
  }
}

  @media screen and (max-width: 360px) {
    
    .news_box .news_link {
      font-size: 1.4rem;
    }
    
    .news_box .news_link dd{
      padding: 5% 2% 5% 30%;
    }
  }
  
  
  /* ----- ここからindex.htmlのfooter
＜スマホ・タブレット＞ ----- ********/
  
  
  #footer_wrap {
    margin: 80px auto 0;
  }
  
  .footer_nav {
    padding: 0px 0;
    margin: 0 auto;
  }

  .footer_nav ul {
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
    width: 100%;
  }

  .footer_nav li {
    float: none;
    line-height: 4.5rem;
    padding: 0;
    margin: 0;
    border-left: none;
    border-bottom: solid 1px #888888;
    background-color: rgba(0, 177, 255, 0.15);
  }

  .footer_nav li:last-child {
    margin-right: 0px;
    border-bottom: none;
  }
  
  .footer_nav li a{
    display: block;
  }
  
  .footer_nav li a:hover {
    background: #cccccc;
    opacity: 0.3;
    border-radius: 0px;
  }
  
  .footer_logo {
    margin: 40px auto 40px;
  }
}

/* ----- ここまでindex.htmlのfooter
＜スマホ・タブレット＞ ----- ********/

  
  /*----- ここからmenu.htmlのmain
＜スマホ・タブレット＞ -----********/
  
@media screen and (max-width: 667px) {

  #menu_top section {
    width: 100%;
    padding: 0 0 3%; 
  }
  
  #menu_top .pict_box {
    width: 100%;
  }
  
/*ここから後から追加した*/
  .menu_wrap .menu_addon01 {
    text-align: left;
  }
/*ここまで後から追加した*/
  
  .primary, .secondary {
    width: 100%;
    float: none;
    margin: auto;
  }
  
/* ここからエステメニューをprimaryにまとめた */
  .primary.together {
    width: 100%;
  }
  
  .menu_wrap .menu_addon01.wt01 {
    width: 100%;
  }
/* ここまでエステメニューをprimaryにまとめた */
}


  /* ----- ここからstaff.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 568px) {
  
  
    #staff_top {
      width: 100%;
    }

    #staff_top section {
      width: 94%;
    }

    .staff_title {
      max-width: 80%;
      margin: 10% auto 8%;
    }
  
/* ここから飾り枠 */
    .frame01 {
      padding: 0.5em 1em;
    }

    .frame01:before, .frame01:after {
      top: -10px;
      width: 1px;
      height: -webkit-calc(100% + 20px);
      height: calc(100% + 20px);
    }

    .frame01:before {
      left: 10px;
    }

    .frame01:after {
      right: 10px;
    }
  /* ここまで飾り枠 */
  
  ul.staff_list li {
    margin-bottom: 15%;
    border-bottom: 1px solid #888888;
  } 
  
  
  .staff_inner .staff_pict {
    max-width: 100%;
    float: none;
    padding-right: 0;
  }
  
  .staff_inner .staff_pict p {
    text-align: right;
  }
  
  /* ここからモーダルウィンドウ　Modaal用 css */

  .modaal-content ol li{
    list-style-type: decimal;
  }

  .modaal-content li {
    font-size: 16px;
    text-align: left;
    padding-bottom: 2%;
    margin-left: 4%;
  }

  .modaal-content  span{
    color: #790000;
  }
  /* ここまでモーダルウィンドウ　Modaal用 css */
  

  .staff_inner section {
    width:100%;
  }

  .staff_inner h3 {
    width: 100%;
    padding: 0 0 2%;
    font-size: 1.4rem;
    text-align: center;
  }

  ul.staff_list dl {
    font-size: 1.6rem;
    overflow: hidden;
  }

  ul.staff_list dt {
    width: 100%;
    text-align: center;
    float: none;
  }

  ul.staff_list dd {
    width: auto;
    float: none;
    text-align: center;
  }
  
  /* メニューの説明文 */
  ul.staff_list dd.staff_text{
    text-align: left;
    font-size: 1.4rem;
    padding: 2% 0 0 0;
    clear: both;
    background:white;
  }
}

  /* ----- ここからshop.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 568px) {

  
  .shop_pict_box li {
    width: 49%;
    float: left;
    margin-right: 2%;
    margin-bottom: 2%;
  }

  .shop_pict_box li:nth-child(3) {
    margin-right: 2%;
  }

  .shop_pict_box li:nth-child(3) {
    margin-right: 2%;
  }

  .shop_pict_box li:nth-child(even) {
    margin-right: 0%;
  }


  .shop_pict_box li img{
    width: 100%;
    float: left;
  }

  li .shadow:hover {
    opacity: 0.5;
    transition: all  0.3s ease;
  }
  
  .info_text {
    width: auto;
    margin: 30px 3% 0;
  }

  .info_text table {
    width: 100%;
    font-size: 1.5rem;
    background: #ffffff;
    line-height:1.3;
  }

  .info_text tr {
    border-top: 1px dashed #888888;
    border-bottom: 1px dashed #888888;
  }

  .info_text th {
  /*  width: 85px;*/
    padding: 5% 2%;
/*    padding: 18px 30px;*/
  /*  border: 1px solid #888888;*/
    background-color: rgba(0, 177, 255, 0.20);
    background-image: url("images/wet-snow.png");
    vertical-align: middle;
  }

  .info_text td {
  /*  width: 440px;*/
    padding: 5% 2%;
  /*  border: 1px solid #888888;*/
  } 
}


  /* ----- ここからbook.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 480px) {
  
  .book_type {
    margin: 0 auto 15%;
  }
  
  .book_image {
    width: 100%;
    float: none;
    margin: 0 auto;
  }
  
  .book_image img{
    width: auto;
  }
  
  .book_content {
    width: 100%;
    float: none;
    margin: 5% auto;
  }
  
  .book_content h2 {
    font-size: 2.0rem;
    text-align: center;
  }

  .book_content p {
    font-size: 1.5rem;
    text-align: center;
  }
  
  .book_content p.book_text {
    text-align: justify;
  }
  
  .book_content .book_banner{
    text-align: center;
  }
  
  .book_profile {
    width: 94%;
  }
  
  hr.style3{
    display: none;
  }
}

@media screen and (max-width: 375px) {

  .book_content h2 {
    font-size: 1.8rem;
  }
  
  .book_content p {
    font-size: 1.4rem;
  }
}


  /* ----- ここからcovid-19-measures.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 667px) {

  #covid_info {
    width: 94%;
  }

  #covid_info > section {
    width: 100%;
  }
  
  #covid_info h1 {
    font-size: 1.8rem;
    padding: 3% 0;
  }

  #covid_info h2 {
    line-height: 1.3;
    padding: 3% 3%;
    margin: 5% 0 3%;
  }
  
  #covid_info li {
    font-size: 1.5rem;
    text-align: left;
    margin: 0 0 0 8%;
  }
}


  /* ----- ここからnews.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 667px) {
  
  #news_info {
    width: 94%;
  }
  
  #news_info > section {
    width: 100%;
  }

  #news_info h1 {
    background-color: rgba(0, 177, 255, 0.20);
    padding: 3% 0;
  }


  #news_info h2 {
    font-size: 1.5rem;
    padding:0% 3% 5%;
  }


  #news_info dt {
    width: 100%;
    float: none;
    text-align: center;
    padding: 2% 3%;
    background-color: #eeeeee;
  }

  #news_info dd {
    width: 100%;
    margin-left: 0;
    padding: 3% 3% 5%;
  }
  
  #news_info dd .mb01{
    text-align: center;
  }
  
/*  Pテキスト内の説明文面のスマホサイズ左寄せ*/
  #news_info dd span.al_01 {
    text-align: left;
  }
}


  /* ----- ここからvillalodola_color.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 667px) {

  #villa_top section {
    width: 94%;
  }
  
  #villa_top .pict_box {
    width: 60%;
    margin: 3% auto;
  }
  
 .villa_wrap .villa_ds_text01 {
    width: 100%;
    margin: 0 0 0 0;
    vertical-align: top;
  }

  .villa_wrap .villa_ds_text02 {
    width: 100%;
    margin: 0 0 0 0;
  }
  
  .villa_wrap .pict_box {
    width: 100%;
    padding: 3% 0;
  }

  .villa_wrap .pict_box img {
    width: 100%;
  }
  
  .villa_list .villa_plant h3,
  .villa_list .iaca h3 {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding: 3%;
  }
  
  
  .villa_list .villa_plant li {
    padding: 3% 0;
    border-bottom: 1px dashed #cccccc;
  }

  .villa_list .villa_plant li figure {
    display: block;
    width: 100%;
    max-width: 330px;
    padding: 4% 0;
    margin: auto;
/*    vertical-align: middle;*/
  }

  .villa_list .villa_plant dl {
    display: Block;
  }
  
  .villa_list .villa_plant dt strong {
  font-size: 1.4rem;
  line-height: 1.3;
  display: block;
  }

  .villa_list .villa_plant dt p {
    font-size: 1.8rem;
    line-height: 1.4;
    font-family: serif;
  }

  .villa_list .villa_plant dt p sup{
    font-size: 1.2rem;
  }
  

  .villa_list .villa_plant > p {
    text-align: left;
    padding-top: 2%;
  }
  
  .villa_list .iaca .icea_part {
    padding: 5% 0;
  }

  .villa_list .iaca .icea_part figure{
    display: block;
    width: 100%;
    max-width: 290px;
    padding: 0;
    margin: auto;
  }

  .villa_list .iaca .icea_part dl{
    display: block;
    vertical-align: top;
  }

  .villa_list .iaca .icea_part dt{
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 0 3%;
  }

  .villa_list .iaca .icea_part dd{
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 0 3%;
  }

  .villa_list .villa_type {
    background: #f4f4f4;
    padding: 4%;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }

  .villa_list .villa_type li {
    width: 100%;
    float: none;
    display: table;
    padding: 2% 0;
  }

  .villa_list .villa_type li:nth-child(2n+1) {
    margin-right: 0%;
  }

  
  .villa_list .villa_type li figure {
    display: table-cell;
    width: 28%;
    padding: 0 3% 0 0;
    vertical-align: top;
  }

  .villa_list .villa_type li figure img {
    width: 100%;
    height: auto;
  }

  .villa_list .villa_type dl {
    display: table-cell;
    vertical-align: top;
  }

  .villa_list .villa_type dt p {
    font-size: 1.6rem;
  }
}


  /* ----- ここからproducts.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 834px) {
  
  .pds_name h3 {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  
}

@media screen and (max-width: 667px) {

  #products_slider .box {
    height: 50vw;
  }
  
  .box .box_string {
    padding: 1.2rem 1.2rem;     
  }
  
  #products_top section {
    width: 100%;
  }

  #products_top h2 {
    font-size: 2.2rem;
  }


  li.pds_bt01 {
    max-width: 50%;
    margin: 4% 0% 0 0;
  }
  
  .pds_name h3 {
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

@media screen and (max-width: 320px) {

  .pds_name h3 {
    font-size: 1.4rem;
  }
}


  /* ----- ここからitem_01.htmlのmain
＜スマホ・タブレット＞ ----- ********/
  
@media screen and (max-width: 667px) {
  
  #item_01_top section {
    width: 100%;
    padding: 0; 
    vertical-align: top;
    margin: auto;
  }
  
  .item_box01 {
    max-width: 100%;
    margin: 15% 0;
    float: left;
    height: 100%;
    text-align: center;
    overflow: hidden;
  }

  .item_box01:nth-child(2n)  {
    margin: 10% 0;
  }
  
  .item_box01 {
    padding: 2% 0 5%;
    border-bottom: 1px dotted #888888;
  }
}


  /* ----- ここからmashur.htmlのmain
＜スマホ・タブレット＞ ----- ********/


@media screen and (max-width: 667px) {

  #mashur_top section {
    width: 94%;
  }
  
  #mashur_top h1 {
  font-size: 2.7rem;
  line-height: 1.0;
  font-family: 'Lora', serif;
  padding: 3% 15%;
  text-shadow: 0 0 5px #888888;
  margin: 0 calc(50% - 50vw);
}

  #mashur_top h1 span.wb01 {
    font-family: serif;
    font-size: 2.2rem;
  }

  #mashur_top h2 {
    font-size: 2.1rem;
  }

  #mashur_top h2 span.wb01{
    font-size: 2.1rem;
  }

  #mashur_top p {
    display: inline-block;
    font-size: 1.5rem;
    margin: 3% 0;
    line-height: 1.5;
    width: 100%;
    text-align: justify;
    vertical-align: top;
  }

  #mashur_top .pict_box {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 3% 0 3% 0;
  }
  
  .mashur_wrap  {
    width: 100%;
  }

  .mashur_wrap .mashur_title {
    padding: 2% 0;
  }

  .mashur_wrap .mashur_title p {
    font-size: 1.6rem;
    padding: 2% 0;
    margin: 2% calc( 50% - 50vw );
  }

  .mashur_wrap .mashur_title h2 {
    font-size: 1.9rem;
    padding: 3% 0;
  }


  .mashur_wrap .mashur_dc_text01 {
    width: 100%;
    margin: 0;
  }

  .mashur_wrap .mashur_dc p{
    font-size: 1.5rem;
  }

  .mashur_wrap .pict_box {
    width: 100%;
  }

  .mashur_wrap .pict_box  figure img {
    width: 100%;
  }

  .mashur_wrap .pict_box figcaption {
    font-size: 1.5rem;
    padding: 5% 0 0 0;
  }

  .mashur_wrap .pict_box02 {
    width: 100%;
    margin-right: 0%;
  }

  .mashur_wrap .pict_box02 figure {
    display: inline-block;
    vertical-align: middle;
    width: 42%;
    margin: 0 0 12% 0;
  }

  .mashur_wrap .pict_box02  figure img {
    width: 100%;
    border-radius: 15px;
  }

  .mashur_wrap .pict_box02 figcaption {
    margin: 8% 0 0 0;
    padding: 4% 0 ;
  }

  .mashur_wrap .pict_box02 span{
    vertical-align: 1rem;
  }

  .mashur_wrap .mashur_dc_text02 {
    display: inline-block;
    width: 100%;
    margin: 2% 0 0 0;
    /*内側のpaddingの横幅が効かない為margin使用*/
    vertical-align: top;
  }

  .mashur_wrap .mashur_dc_text02:last-child {
    margin: 2% 0 0 0;
  }

  .mashur_wrap .mashur_dc h3 {
    font-size: 1.7rem;
    padding: 3%;
    background: rgba(229, 229, 229, 0.43);
  }

  .mashur_wrap .mashur_dc ol {
    padding: 0 0 0 7%; 
  }

  .mashur_wrap .mashur_dc ol li{
    line-height: 1.4;
  }

  .mashur_inner .mashur_pict figure {
    display: inline-block;
    vertical-align: middle;
    width: 80%;
    margin: 0 0 7% 0;
  }

  .mashur_inner .mashur_pict figure:last-child {
    margin: 0 0 7% 0;
  }

  .mashur_inner .mashur_pict figure img {
    width: 100%;
    border-radius: 10px;
  }
}

  /* ----- ここからkoso.htmlのmain
＜スマホ・タブレット＞ ----- ********/


@media screen and (max-width: 667px) {

  #koso_top h1 {
    font-size: 2.7rem;
    line-height: 1.0;
    padding: 3% 5%;
  }
  
  #koso_top p {
    font-size: 2.1rem;
  }


  #koso_top p span.wb01{
    font-size: 2.1rem;
  }

  
  #koso_top .koso_t_primary {
    width: 100%;
    margin: 0;
  }

  #koso_top .koso_t_secondary {
    width: 100%;
  }
  

  #koso_top .koso_t_secondary h3{
    font-size: 1.6rem;
    text-align: center;
  }

  #koso_top .koso_t_secondary p{
    padding: 5% 0 0;
  }
  
  .koso_wrap .koso_title p {
    font-size: 1.6rem;
    padding: 2% 0;
  }

  .koso_wrap .koso_title h2 {
    font-size: 2rem;
    padding: 2%;
    line-height: 1.2;
  }
  
  .koso_wrap .koso_dc_text01 {
    width: 100%;
    margin: 0;
  }

  .koso_wrap .koso_dc p{
    font-size: 1.5rem;
    margin: 2% 0 2% 0;
    line-height: 1.5;
    text-align: justify;
  }

  .koso_wrap .pict_box {
    width:100%;
    margin: 2% 0;
  }

  .koso_wrap .pict_box figure {
    width: 49%;
    margin: 0% 0% 2% 0%;
  }

  .koso_wrap .pict_box figure:nth-child(2n) {
    margin: 0% 0% 2% 2%;
  }

  .koso_wrap .pict_box02 {
    margin-right: 0;
  }

  .koso_wrap .pict_box02 figure {
    width: 80%;
    margin: 5% 0 0 0;
  }

  .koso_wrap .pict_box02 figure:last-child {
    margin: 5% 0 0 0;
    width: 100%;
  }

  .koso_wrap .pict_box02  figure img {
    width: 100%;
    border-radius: 0px;
  }

  .koso_wrap .koso_dc_text02 {
    width: 100%;
  }

  .koso_wrap .koso_dc h3 {
    font-size: 1.9rem;
    padding: 2%;
    margin: 0 0 5%;
    border-bottom: 1px dashed #888888;
  }
}


  /* ----- ここからtreatment.htmlのmain
＜スマホ・タブレット＞ ----- ********/


@media screen and (max-width: 667px) {


  #treat_top h1 {
    font-size: 2.7rem;
    line-height: 1.0;
    padding: 3% 5%;
  }

  #treat_top p {
    font-size: 2.1rem;
  }

  #treat_top p span.wb01{
    font-size: 2.1rem;
  }

  #treat_top .treat_t_primary {
    width: 100%;
    margin: 0;
  }

  #treat_top .treat_t_secondary{
    width: 100%;
  }

  #treat_top .treat_t_secondary h3{
    font-size: 1.6rem;
    text-align: center;
    padding: 0 0 1% 0;
  }

  .treat_wrap .treat_title {
    width: 100%;
    padding: 1% 0;
    margin: auto;
  }

  .treat_wrap .treat_title p {
    font-size: 1.6rem;
    padding: 2% 0;
  }

  .treat_wrap .treat_title h2 {
    font-size: 2rem;
    padding: 2%;
    line-height: 1.2;
  }

  
  .treat_wrap .treat_dc_text01 {
    width: 100%;
    margin: 0;
  }

  .treat_wrap .pict_box {
    width: 100%;
    padding: 3% 0;
    overflow: hidden;
  }

  .treat_wrap .pict_box figure {
    vertical-align: middle;
    width: 42%;
    padding: 0%;
  }

  .treat_wrap .pict_box span {
    font-size: 2.5rem;
  }
 

  .treat_wrap .pict_box figcaption {
    font-size: 2rem;
  }


  .treat_wrap .treat_bt figure {
    width: 80%;
    margin: 0;
  }

  .treat_wrap figure img {
    width: 100%;
    border-radius: 15px;
  }

  .treat_bt figcaption {
    margin: 3% 0 5% 0;
    text-align: left;
  }

  .treat_bt section {
    width: 100%;
  }
  
  .treat_bt section h3{
    text-align: center;
  }

  .treat_bt .price_box {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 320px) {
  
  #treat_top p {
    font-size: 1.9rem;
  }

  #treat_top p span.wb01{
    font-size: 1.9rem;
  }
  
  .treat_wrap .treat_title h2 {
    font-size: 1.8rem;
  }
}


  /* ----- ここからmiraclebody.htmlのmain
  /* ----- ここからhokkoribody.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 768px) {
  
  .m_body_dc .body_table_dc_text01 {
    width: 80%;
  }
}

@media screen and (max-width: 667px) {
  
  #m_body_top h1 {
    font-size: 2.7rem;
    line-height: 1.0;
    padding: 3% 5%;
  }

  #m_body_top h1 span.wb01 {
    font-size: 2.3rem;
  }

  #m_body_top h2 {
    font-size: 2.1rem;
  }

  #m_body_top h2 span.wb01{
    font-size: 2.1rem;
  }
  
  /* ここからmiraclebody.htmlの背景画像 */
  #m_body_top .pict_box01 {
    height: 40vh;
  }
  /* ここまでmiraclebody.htmlの背景画像 */

  /* ここからhokkoribody.htmlの背景画像 */
  #m_body_top .pict_box02 {
    height: 40vh;
  }
  /* ここまでhokkoribody.htmlの背景画像 */

  /* ここからmiraclebody.htmlと
  hokkoribody.htmとの画像の上の文字 */
  #m_body_top .pict_box01 span,
  #m_body_top .pict_box02 span {
    font-size: 2.2rem;
  }
/* ここまでmiraclebody.htmlと
  hokkoribody.htmとの画像の上の文字 */

  #m_body_top .m_body_outline{
    width: 100%;
    margin: 5% 0 0 0;
  }

  .m_body_outline section {
    width: 100%;
    margin: 0;
    float: none;
  }

  .m_body_outline section h3 {
    margin: 0 0 4% 0;
    text-align: center;
    line-height: 1.3;
  }

  .m_body_outline section p {
    margin: 0 0 3%;
  }

  .m_body_outline img {
    width: 100%;
  }

  .m_body_wrap .m_body_title {
    padding: 4% 0;
    width: 94%;
  }

  .m_body_wrap .m_body_title h2 {
    font-size: 2.2rem;
    padding: 3% 0;
    line-height: 1.2;
  }

  .m_body_wrap .m_body_title h2 span{
    font-size: 2.2rem;
  }

  .m_body_wrap .m_body_title p{
    font-size: 1.9rem;
    padding: 3% 0;
    line-height: 1.2;
  }
  
  .m_body_wrap .m_body_title p span{
    font-size: 1.9rem;
  }

  .m_body_wrap .m_body_dc {
    padding: 2% 0;
    text-align: justify;
  }

  .m_body_dc .body_table_dc_text01 {
    width: 100%;
    margin: 0 auto 5%;
  }

  #esthe_table h3 {
    font-size: 1.8rem;
    padding: 4% 0 4%;
  }

  #esthe_table p {
    padding: 0 0 3%;
  }


  #esthe_table table th {
    width: 22%;
  }
}


  /* ----- ここからsitemap.htmlのmain
＜スマホ・タブレット＞ ----- ********/

@media screen and (max-width: 667px) {
  
  
  #sitemap_info > section {
    width: 100%;
  }

  #sitemap_info h1 {
    padding: 2% 3%;
    margin: 4 auto 4%;
  }

  #sitemap_info h2 {
    font-size: 1.5rem;
    padding: 0% 3% 5%;
  }
  
  ul.sitemap_list {
    width: 84%;
    margin: auto;
    padding: 0;
  }
}

@media screen and (max-width: 480px) {
  
  .sitemap_list li a {
    padding: 0.8em 12%;
  }
}


