@charset "utf-8";

/*cv_btn 矢印の動き*/
@keyframes horizontal {
  0% { transform:translateX( 0px); }
  20% { transform:translateX( 10px); }
  40% { transform:translateX( 0px); }
}
main .important_txt p.salon_important {
    color: red;
    font-size: 1.4rem;
    }
/*
 * ==============================================
 * ■画面の横幅が981px以上 (PC)
 * ==============================================
 */
@media screen and (min-width : 981px ){

    main{
        background-color:#f6f6f6;
        padding-bottom:90px;
    }
    main a:hover figure img,
    main figure img{
        transition: .6s;
    }
    main a:hover figure{
        background-color:#fff;
    }
    main a:hover figure img,
    main figure.hovered img{
        opacity: 0.8;
    }
    main a:hover img{
      opacity: 0.8;
    }

    /* space */
    main .space10{
      height: 10px;
      display: block;
    }
    main .space20{
      height: 20px;
      display: block;
    }
    main .space40{
      height: 40px;
      display: block;
    }
    main .space60{
      height: 60px;
      display: block;
    }
    main .space80{
      height: 80px;
      display: block;
    }
    main .space10.sp,main .space20.sp,main .space40.sp,main .space60.sp,main .space80.sp,
    main .space10.tab,main .space20.tab,main .space40.tab,main .space60.tab,main .space80.tab{
      display: none;
    }
    main .space10.tab.pc,main .space20.tab.pc,main .space40.tab.pc,main .space60.tab.pc,main .space80.tab.pc{
      display: block;
    }
    main .margin20{
      margin-top: 20px;
      margin-bottom: 20px;
      display: block;
    }
    main .margin40{
      margin-top: 40px;
      margin-bottom: 40px;
      display: block;
    }
    main .margin60{
      margin-top: 60px;
      margin-bottom: 60px;
      display: block;
    }
    main .margin80{
      margin-top: 80px;
      margin-bottom: 80px;
      display: block;
    }
    main .margin20.sp,main .margin40.sp,main .margin60.sp,main .margin80.sp,
    main .margin20.tab,main .margin40.tab,main .margin60.tab,main .margin80.tab{
      display: none;
    }
    main .margin20.tab.pc,main .margin40.tab.pc,main .margin60.tab.pc,main .margin80.tab.pc{
      display: block;
    }
    main .padding20{
      padding:20px;
    }
    main .padding40{
      padding:40px;
    }
    main .pc_padding20{
      padding-left:20px;
      padding-right: 20px;
    }

    /* iframe */
    main iframe{
      width:100%;
    }
    /* title */
    main .ttlblock{
        text-align:center;
    }
    main .ttlblock h2{
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 300;
    }
    main .ttlblock .ttlsub{
        font-size: 1.4rem;
        color:#164072;
    }
    main .ttlblock .text{
        margin-top: 38px;
        font-size: 1.8rem;
    }

    /* tag */
    main span.tag{
       z-index: 2;
       font-size: 1.3rem;
       padding: 0px 10px;
       margin-bottom:0.2em;
       color:#fff;
       background-color: #194375;
    }
    main span.label{
       z-index: 2;
       font-size: 1.4rem;
       padding: 0px 18px;
       margin-bottom:0.2em;
       color:#fff;
       background-color: #194375;
    }

    /* textblock */
    main .textblock{
        width:100%;
        max-width:1200px;
        min-width:920px;
    }
    main .localnav .textblock{
        width:100%;
        max-width:auto;
        min-width:auto;
    }
    main .textblock .gridbox{
        display: flex;
        flex-wrap: wrap;
        position: relative;
    }
    main .textblock .grid{
        position: relative;
        transition: .6s;
        background-color: #fff;
        overflow:visible;
        margin-bottom: 1%;
        margin-right: 0.5%;
    }
    main .textblock .bg_clear .grid{
      background-color: transparent;
    }
    main .textblock .gridbox.column2 .grid{
        width: 49.5%;
    }
    main .textblock .gridbox.column2 .grid:last-child{
        margin-right: 0%;
        padding-right: 0;
    }
    main .textblock .gridbox.column2 .grid:nth-child(odd){
      padding-right: 15px;
    }
    main .textblock .gridbox.column2.cv_top .grid:nth-child(odd){
      padding-right: 0px;
    }
    main .textblock .gridbox.column2 .grid:nth-child(even){
        padding-left: 15px;
    }
    main .textblock .gridbox.column3 .grid{
        width: 33%;
    }
    main .textblock .gridbox.column3 .grid:nth-child(3n){
        margin-right: 0%;
    }
	
	/*20210305追記 start*/
    main .campaign_area .textblock .gridbox.column3 .grid:nth-child(6){
        margin-right: 0.5%;
    }
    main .campaign_area .textblock .gridbox.column3 .grid:nth-child(7){
        margin-right: 0%;
    }
	/*20210305追記 end*/
	/*20210420追記 start*/
    .article .textblock .gridbox.column3 .grid img {
       height: 150px;
       width: 100%;
       object-fit: cover;
}
	/*20210420追記 end*/
	
    main .textblock .gridbox.column4 .grid{
        width: 24.625%;
    }
    main .textblock .gridbox.column4 .grid:nth-child(4),
    main .textblock .gridbox.column4 .grid:nth-child(8),
    main .textblock .gridbox.column4 .grid:nth-child(12),
    main .textblock .gridbox.column4 .grid:nth-child(16){
        margin-right: 0%;
    }
    main .textblock .gridbox.column5 .grid{
        width: 19.6%;
    }
    main .textblock .gridbox.column5 .grid:last-child{
        margin-right: 0%;
    }
    main .textblock .gridbox.column6 .grid{
        width: 16.2%;
    }
    main .textblock .gridbox.column6 .grid:last-child{
        margin-right: 0%;
    }
    main .textblock .gridbox.column7 .grid{
        width: 13.7%;
        margin-bottom: 5px;
    }
    main .textblock .gridbox.column7 .grid:nth-child(7),
    main .textblock .gridbox.column7 .grid:nth-child(14){
        margin-right: 0%;
    }
    main .textblock .grid a:hover figure.figre_img img{
        transition: .6s;
    }
    main .textblock .grid a:hover figure.figre_img img{
        opacity: 0.8;
    }
    main .textblock .grid .linkblock{
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      display: block;
    }



    /* local navi */
    main .localnav{
      display: flex;
    }
    main .localnav .localnav_contents{
      width:805px;
      margin-right:37px;
    }
    main .localnav .localnav_nav{
      width:160px;
    }
    main .localnav .localnav_nav .localnav_list{
      width:100%;
    }
    main .localnav .localnav_nav .localnav_list li{
      background-color:#fff;
      margin-bottom:2px;
      line-height: 1;
    }
    main .localnav .localnav_nav .localnav_list li a{
      width:100%;
      padding:0;
      margin: 0;
    }
    main .localnav .localnav_nav .localnav_list li a div{
      width:100%;
      display: block;
      background-color: #fff;
      font-size: 1.5rem;
      padding:29px 0px;
      border:0!important;
      line-height: 1.4;
    }
    main .localnav .localnav_nav .localnav_list li a.active div{
      color: #fff!important;
      background-color: #000!important;
    }
    main .localnav .localnav_nav .localnav_list li a div span{
      text-align: left;
      padding:0px 20px;
      font-size: 1.4rem;
    }
    main .localnav .localnav_nav .localnav_list li a div span:before{
      content: "";
      width: 14px;
      height: 14px;
      border: 2px solid;
      border-color: #000 #000 transparent transparent;
      transform: scale(.5) rotate(45deg);
      position: relative;
      display: inline-block;
      overflow: hidden;
      left: -8px;
      top: 2px;
    }
    main .localnav .localnav_nav .localnav_list li a.active div span:before,
    main .localnav .localnav_nav .localnav_list li a:hover div span:before{
      border-color: #fff #fff transparent transparent;
    }


    /* table */
    main table{
      width: 100%;
      box-sizing: border-box;
      margin:20px auto;
      border-collapse: separate;
      border-spacing: 2px;
    }
    main table caption{
      text-align: left;
      margin:15px 0;
    }
    main table tr.table_top th{
      background-color: #cccccc;
      text-align: center;
      padding: 15px 0;
      line-height: 1.2em;
    }
    main table tr:nth-child(even){
      background-color: #f6f6f6;
    }
    main table tr:nth-child(odd){
      background-color: #f0f3f7;
    }
    main table th,
    main table td{
      vertical-align: middle;
      padding: 15px 10px;
      line-height: 1.5em;
      min-width: 100px;
    }
    main table th{
      white-space: nowrap;
      font-weight: bold;
    }


    main section{
        clear: both;
    }
    main section div.fadebox{
       position: relative;
       display: block;
       transition: 0.8s ease;
       transition-delay: 0.0s;
       top:50px;
       opacity: 0;
    }
    main section div.fadebox.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox1{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 0.2s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox1.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox2{
       transition: 1.2s ease;
       transition-delay: 0.7s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox2.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox3{
       transition: 1.2s ease;
       transition-delay: 1.2s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox3.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox4{
       transition: 1.2s ease;
       transition-delay: 1.7s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox4.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox5{
       transition: 1.2s ease;
       transition-delay: 2.2s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox5.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox6{
       transition: 1.2s ease;
       transition-delay: 2.7s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox6.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox7{
       transition: 1.2s ease;
       transition-delay: 3.2s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox7.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox8{
       transition: 1.2s ease;
       transition-delay: 3.7s;
       top:50px;
       opacity: 0;
    }
    main section .gridbox .grid.fadebox8.open{
       top:0px;
       opacity: 1;
    }

   main div.morebtn{
     margin-top:15px;
     display: block;
     text-align: center;
   }
   main div.morebtn a.btn_block{
     width: 240px;
     height: 64px;
     font-size: 1.8rem;
     font-weight: normal;
   }
   main div.morebtn a.btn_block div span:before{
     content: "";
     width: 14px;
     height: 14px;
     border: 3px solid;
     border-color: #000 #000 transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: relative;
     display: inline-block;
     overflow: hidden;
     left: -7px;
   }
   main div.morebtn a.btn_block:hover div span:before{
     border-color: #fff #fff transparent transparent;
   }
   main div.morebtn a.btn_block.hovered div span:before{
     border-color: #fff #fff transparent transparent;
   }

/***************個別パーツ用ここから*****************/
main .textblock.pages_content{
  max-width: 1000px;
  box-sizing: border-box;
  margin:0 auto;
  display: block;
}
main .textblock.pages_content.wide_area{
  max-width: 1200px;
}
main .textblock.pages_content.full_area{
  max-width: 100%;
}
main .leftblock550.pages_content{
  width: 550px;
}
main .leftblock700.pages_content{
  width: 700px;
}
main span.pc_br{
  display: block;
  font-weight: inherit;
}
main span.tab_br,main span.sp_br{
  font-weight: inherit;
}
.full_img img{
  width: 100%;
}
main .lefticon_box{
  width: 100%;
  padding: 20px 35px 20px 70px;
  position: relative;
  font-size: 26px;
}
main .lefticon_box .left_icon{
  position: absolute;
  left: 35px;
  top:20px;
}

main .qa h3.border.left {
  padding: 20px 0px 20px 40px;
}

main .qa .lefticon_box{
  width: 100%;
  padding: 20px 0px 20px 40px;
  position: relative;
  font-size: 26px;
}
main .qa h3 .left_icon{
  position: absolute;
  left: 10px;
  top:15px;
  font-size: 2.5rem;
}
main .qa .lefticon_box .left_icon{
  position: absolute;
  left: 10px;
  top:15px;
  font-size: 2.6rem;
}



main .border_cont .grid{
  padding: 15px;
  font-weight: bold;
}
main .gridbox.column3.border_cont .grid{
  width:32%;
  margin-right:2%;
}
main .gridbox.column4.border_cont .grid{
  width:23.5%;
  margin-right:2%;
}

/* 3カラム　ブロック一覧　ここから*/
main .textblock .gridbox.blocklist .grid{
  width:31.5%;
  margin-right:2%;
  margin-bottom:2%;
  padding-bottom:60px;
  position: relative;
}

main .textblock .gridbox.blocklist .grid span{
  font-size: 1.4rem;
  line-height: 1.2;
}
main .textblock .gridbox.blocklist .grid h3{
  font-size: 2.25rem;
  line-height: 1.4;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid ul.mark_list li{
  font-size: 1.45rem;
  line-height: 1.2;
  margin-bottom:10px;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid a.btn_block{
    height: 50px;
}
main .textblock .gridbox.blocklist .grid .heightfix{
    min-height: 170px;
}
main .textblock .gridbox.blocklist .grid .heightfix.medium{
    min-height: 200px;
}
main .textblock .gridbox.blocklist .grid .heightfix.long{
    min-height: 220px;
}
main .textblock .gridbox.blocklist .grid .tagblock{
  display: block;
}
main .textblock .gridbox.blocklist .grid .tagblock p{
  display: inline-block;
  margin-bottom:5px;
}
main .textblock .gridbox.blocklist .grid .special_txt{
  line-height: 1.2;
  font-weight: bold;
  position: absolute;
  bottom:15px;
  letter-spacing: 0.2px;
}
main .textblock .gridbox.blocklist .grid .special_txt .small{
  font-size: 1.6rem;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .special_txt .big{
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.5px;
}
main .textblock .gridbox.blocklist .grid .morebtn{
    position: absolute;
    bottom: 20px;
    width: 100%;
}
main .textblock .gridbox.blocklist .grid .mark_list{
  margin:0;
  margin: 0 0 0 1em;
}
/* 3カラム　ブロック一覧　ここまで*/
/* 3カラム　テキストリンク　ここから*/
main .textblock .gridbox .grid p.lead {
    text-align: left;
    color: #000;
    font-weight: bold;
    font-size: 1.4rem;
    display: block;
    margin-top: 9px;
    margin-bottom: 0;
}
main .textblock .gridbox .grid .menu span.ttl {
    font-size: 1.4rem;
}
main .textblock .gridbox .grid .menu figure{
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
}
main .textblock .gridbox .grid a span.ttl:before {
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
}
/* 3カラム　テキストリンク　ここまで*/

main .border_cont .grid .bc_ttl{
  border-bottom: 1px solid #194375;
  color: #194375;
  font-size: 16px;
  padding-bottom: 8px;
}
main .border_cont .grid .bc_ttl span{
  font-size: 30px;
}
main .border_cont .grid .bc_txt{
  display: block;
  font-size: 18px;
  padding-top: 8px;
  font-weight: bold;
}
main .number_cont.normal .nc_ttl{
  font-weight: bold;
  font-size: 18px;
  display: inline-block;
  width: 86%;
  padding: 0px 20px 0px 0px;
  vertical-align: middle;
  line-height: 1.4;
}
main .number_cont.normal .nc_number{
  font-size: 36px;
  display: inline-block;
  color: #194375;
  width: 13%;
  padding: 0;
  padding-left: 10px;
  vertical-align: middle;
}
main .number_cont.normal .nc_number:after{
      content: "";
    height: 32px;
    width: 1px;
    background-color: #194375;
    margin-left: 20px;
    position: relative;
    display: inline-block;
    top: 2px;
}
main .number_cont.normal .grid{
  padding:5px;
}

main .number_cont .nc_ttl{
  font-weight: bold;
  font-size: 18px;
  display: inline-block;
  width: 78%;
  padding:10px 0 10px 20px;
  vertical-align: middle;
}
main .number_cont .nc_number{
  font-size: 40px;
  display: inline-block;
  color: #194375;
  width: 20%;
  padding-left: 20px;
  vertical-align: middle;
}
main .number_cont .grid img{
  width: 100%;
}
main .number_cont2 .nc2_ttl{
  font-size: 16px;
  font-weight: bold;
  padding: 0 10px;
}
main .number_cont2 .nc2_number{
  font-size: 16px;
  font-weight: bold;
  color: #194375;
  padding: 10px;
}
main .number_cont2 .nc2_number span{
  font-size: 30px;
}
main .number_cont2 .nc2_txt{
  padding: 10px;
}

main .icon_box .grid{
  padding: 20px 10px;
  box-sizing: border-box;
  text-align: center;
}
main .icon_box .grid img{
  height: 35px;
  width: auto;
  display: block;
  margin:0 auto 10px auto;
}

main .dual_tablebox{
  display: flex;
}

main .dual_table2 .dual_left{
  display: none;
}
main .dual_table1,main .dual_table2{
  display:table;
  box-sizing: border-box;
  background-color: transparent;
  color: #194375;
  border-collapse: collapse;
}
main .dual_tablebox table th,
main .dual_tablebox table td{
  font-size: 15px;
  vertical-align: middle;
  position: relative;
  padding: 0;
}
main .dual_tablebox table.dual_table1 th,
main .dual_tablebox table.dual_table1 td{
  font-weight: bold;
}
main .dual_tablebox table.dual_table2 td{
  padding-left: 70px;
}
main .dual_tablebox table.dual_table1 th.dual_line2,
main .dual_tablebox table.dual_table2 th.dual_line2{
  padding-top: 41px;
  padding-bottom: 41px;
}

main .dual_tablebox table th img,
main .dual_tablebox table td img{
  display: block;
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
main .dual_table1 tr,main .dual_table2 tr{
  border-bottom: 2px solid #194375;
}
main .dual_table1 tr:first-child th,main .dual_table2 tr:first-child th{
  text-align: center;
  font-size: 20px;
  font-weight: normal;
}
main .dual_table1 tr:first-child th span.big_tttl,
main .dual_table2 tr:first-child th span.big_tttl{
  display: block;
  font-size: 16px;
}
main .dual_table1{
  width: 100%;
  padding-bottom: 20px;
  position: relative;
  z-index: 10;
}
main .dual_table2{
  width: 40%;
}
main .dual_table1 .dual_left{
  width: 34%;
}
main .dual_table2 .dual_right{
  padding: 30px 20px;
}
main .dual_table1 .dual_right{
  width: 66%;
  padding: 30px 20px;
}
main .dual_table1 .dual_right span.bg_yellow{
  display: block;
    position: relative;
  padding-left: 70px;
}
.dual_1{
  position: relative;
  width: 60%;
}
/**main .dual_table1:after**/
.table_bgcolor{
  display: block;
  width: 66%;
  height: 105%;
  position: absolute;
  top: 0;
  right: 0;
  background-color:#ffe400;
  z-index: 1;
}
main .dual_table2 .dual_right{
  width: 100%;
}
main .dual_tablebox table tr:nth-child(even),
main .dual_tablebox table tr:nth-child(odd){
  background-color: transparent;
}

/***********色・サイズ系*******************/
main .small_txt{
  font-size: 11px;
}
main figcaption.caption_img img.pc{
  display: block;
  margin:10px auto;
  display: block;
}
main.page_content_bg{
  background-color: #f6f6f6;
}
 main .big_txt{
  font-size: 26px;
  font-weight: bold;
}
 main .big18_txt{
  font-size: 18px;
}
 main .big20_txt{
  font-size: 20px;
}
 main .over_txt{
  font-size: 36px;
  font-weight: bold;
}
 main .medium_txt{
  font-size: 15px;
}
main .pink_txt{
  color: #e4007f;
}
main .basecolor_txt{
  color: #194375;
}
main .white_txt{
  color: #fff;
}
main a.pink_txt:link{
  text-decoration: underline;
  color: #e4007f;
}
main a.arrow{
    text-indent: -1.1em;
    padding-left: 1.1em;
    display: inline-block;
    line-height: 1.4;
}
main a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_pc.png) no-repeat center center;
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -7px;
    top: 4px;
    z-index: 3;
}
main a.underline{
  text-decoration: underline;
}
main .wide_link a{
  width: 100%;
  display: block;
  padding:20px 45px 20px 25px;
  position: relative;
}
main .wide_link a:nth-child(even){
    background-color: #f6f6f6;
}
main .wide_link a:nth-child(odd){
    background-color: #f0f3f7;
}
main .wide_link a:before{
     content: "";
     width: 16px;
     height: 16px;
     border: 2px solid;
     border-color: #000 #000 transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: absolute;
     display: inline-block;
     overflow: hidden;
     right: 20px;
     top:calc(50% - 8px);
}

 main p.bg_black{
  background-color: #000;
  color: #fff;
  font-size: 25px;
  text-align: center;
  font-weight: bold;
  padding-top:15px;
  width: 100%;
}
main .bold{
  font-weight: bold;
}
main .lighter{
  font-weight: lighter;
}
main .under_line{
  text-decoration: underline;
}
main .center_txt{
  text-align: center;
}
main a.pink_txt:hover{
  color: #f32598;
}
ul.icon_list li{
  list-style: none;
  padding-left: 1em;
  position: relative;
}
ul.icon_list li:first-letter{
  margin-left: -1em;
}
ul.icon_list.sq_list li:first-letter{
  margin-left:0;
}
ul.icon_list.inline_list li{
  display: inline-block;
  margin-right: 1em;
}
ul.icon_list.half li{
  padding-left: 0.5em;
}
ul.icon_list.half li:first-letter{
  margin-left: -0.5em;
}
ul.icon_list li .square:before{
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: -0.2em;
  width: 8px;
  height: 8px;
  background-color: #194375;
}
.center_img{
  display: block;
  width: 100%;
  text-align: center;
}
.center_img img{

}
.left_img{
  display: block;
  width: 100%;
}
.left_img figure{
  display: inline-block;
  width: auto;
  vertical-align: top;
  text-align: center;
  margin-right:20px;
}
.left_img figure:last-child{
  margin-right:0px;
}
.left_img img.pc{
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: bottom;
}
main p.right_txt{
  text-align: right;
  font-size: 12px;
}

/***********色・サイズ系****************/
/*********ページタイトル**************/
main .bg_right{
   background-position: right top;
   background-size: auto 100%;
   background-repeat: no-repeat;
   background-color: #fff;
}
main .border_top_gray {
   border-top:1px solid #f6f6f6;
}
main .border_blue {
   border:1px solid #194375;
}
main h1.bg_none {
   max-width: 1000px;
   margin: 0 auto;
   display: block;
   padding:28px 0px 34px;
   background:#fff;
   font-size: 3.2rem;
   line-height: 1.4;
}
main h1.bg_none span.lead{
   font-size: 2.0rem;
   display: block;
   font-weight: bold;
   line-height: 1.4;
   margin-bottom:4px;
}
main h1.bg_none span.date{
   font-size: 1.5rem;
   display: block;
   font-weight: normal;
   margin-top:4px;
}
main .bnr_campaign{
  padding:20px 0 40px 0;
}
main .pages_ttl2{
padding:96px 0;
background-size: auto 100%;
background-position: right top;
background-repeat: no-repeat;
}
 main .pages_ttl2 h2{
  font-size: 48px;
  font-weight: bold;
 }
main .pages_ttl3{
padding:65px 0;
background-color: #fff;
}
 main .pages_ttl3 h2{
  font-size: 36px;
  font-weight: bold;
  line-height: 1.2em;
 }
  main .pages_ttl3 h2 span{
    font-size: 22px;
    display: block;
    font-weight: bold;
  }
/********ページタイトルここまで******************/
/**********CVエリアここから**********/


 main .app_area{
  padding-bottom: 30px;
}
 main .app_area .textblock .grid{
  margin-bottom: 0;
  background-color: #000;
}
main .cv_area.pc{
  background-color: #e5e5e5;
  padding-top: 25px;
  display: block;
}
main .cv_top{
  width: 880px;
  margin:0 auto;
  box-sizing: border-box;
  padding-top: 20px;
}
main .textblock .cv_top.gridbox .grid:nth-child(1){
  width: 342px;
}
main .textblock .cv_top.column2.gridbox .grid:nth-child(2){
  width: 520px;
  padding-left: 35px;
}
main .textblock .cv_top.column2.gridbox .grid:nth-child(2) .cva_text{
  font-size: 18px;
  font-weight: bold;
}
main .textblock .cv_top.column2.gridbox .grid:nth-child(2) .price img,
main .textblock .cv_top.column2.gridbox .grid:nth-child(2) .price p{
  display: inline-block;
  vertical-align: middle;
  margin-top: 20px;
}
main .textblock .cv_top.column2.gridbox .grid:nth-child(2) .price{
  width:487px;
}
main .cv_btn .textblock .gridbox.column2 .grid{
  margin-bottom: 0;
  padding-right: 0;
  padding-left: 0;
}

/*********CVエリアここまで************/
/**********ボタン系ここから**************/

main .cv_btn{
  padding:17px 0 23px 0;
}
main .textblock .cv_btn .textblock .gridbox.column2{
  padding: 0 10px;
}
main .cv_btn .textblock .gridbox.column2 .grid{
  width: 49.5%;
  margin-right: 0;
}
main .cv_btn .textblock .gridbox.column2 .grid + .grid{
  margin-left: 1%;
}

.btn_experience,
.btn_salon{
  width: 100%;
  display: block;
  height: 64px;
  padding-top: 12px;
  box-sizing: border-box;
  position: relative;
  transition: 0.3s;
}
.btn_experience p,
.btn_salon p{
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  z-index: 10;
  position: relative;
  background-repeat: no-repeat;
}
.btn_experience p{
  background-image: url(/assets/dah/images/course/base/icon_experience.png);
  background-position: left 100px center;
}
.btn_salon p{
  background-image: url(/assets/dah/images/course/base/icon_salon.png);
  background-position: left 160px center;
  transition: 0.3s;
}
.btn_experience p img,
.btn_salon p img{
  display: inline-block;
  margin-right: 10px;
  vertical-align: text-bottom;
  padding-bottom: 3px;
}
.btn_experience{
  background-color: #e4007f;
  color: #fff;
  z-index: 0;
  border:1px solid #e4007f;
}
.btn_experience:after{
  content:"";
  height: 32px;
  background-color: #c9006f;
  border:1px solid #c9006f;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.btn_salon{
  background-color: #fff;
  color: #000;
}
.btn_salon:after{
  content:"";
  height: 32px;
  background-color: #e5e5e5;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.btn_experience:before,
.btn_salon:before{
  content: "";
  width: 0;
  height: 100%;
  box-sizing: border-box;
  background-color: #fff;
  transition: 0.3s;
  position: absolute;
  left: 0;
  top: 0;
  bottom:0;
  margin:auto;
  z-index: 2;
}
.btn_experience:hover{
  color: #e4007f;
}
.btn_experience:hover p{
  background-image: url(/assets/dah/images/course/base/icon_experience_hover.png);
}
.btn_salon:hover p{
  background-image: url(/assets/dah/images/course/base/icon_salon_hover.png);
}
.btn_experience:hover:before,
.btn_salon:hover:before{
  width: 100%;
}
.btn_experience:hover:before{
  height: 100%;
  box-sizing: border-box;
}
.btn_salon:hover{
  color: #555;
}
.epilation_salon .grid a{
  display: block;
  text-align: center;
  color: #194375;
  font-size: 14px;
  transition: 0.3s;
  background-color: #fff;
  position: relative;
  border: 1px solid #fff;
}
.epilation_salon .grid a:hover{
  color: #346daf;
  border: 1px solid #e5e5e5;
}
/*20191218 インターフェース改善*/
.btn_experience_img{
  background-image: url(/assets/dah/images/course/base/btn_experience_hover.png);
  background-repeat: no-repeat;
  display: block;
  background-size: contain;
  position: relative;
  }
.btn_salon_img{
  background-image: url(/assets/dah/images/course/base/btn_salon_hover.png);
  background-repeat: no-repeat;
  display: block;
  background-size: contain;
  }
a:hover .btn_experience_img img,
a:hover .btn_salon_img img{
  opacity: 0;
}
.btn_experience_img:before{
  content: "";
  background:url(/assets/dah/images/course/base/arrow_experience.png) no-repeat;
  width: 50px;
  height: 32px;
  position: absolute;
  left: 36px;
  top: 17px;
  animation: horizontal 1s ease-in-out infinite normal;
  -webkit-animation:horizontal 1s ease-in-out infinite normal;
  -ms-animation:horizontal 1s ease-in-out infinite normal;
  z-index: 2;
}
a:hover .btn_experience_img:before{
  top:22px;
}
.salon_trialform{
  margin: 20px auto;
  height: 68px;
}

/**********ボタン系ここまで**************/

/***********タイトル系パーツ*************/
main h2.center{
  font-size: 28px;
  text-align: center;
}
main h2.center.pc{
  width: 100%;
  display: block;
}
main h2.center:after{
  content:"";
  width: 60px;
  height: 4px;
  background-color: #194375;
  display: block;
  margin:35px auto 55px;
}
main h2.center.sp_img{
  background-image: none!important;
}
main h3.page_h3_ttl2{
  text-align: center;
  margin-bottom: 20px;
}
main h3,main table caption{
  font-size: 16px;
  font-weight: bold;
}
main h4.page_h4_ttl2 img.pc{
  display: block;
  margin:0 auto 50px;
}
main h3.border{
  background-color: #fff;
  text-align: center;
  font-size: 20px;
  padding: 18px 0;
  margin:0px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
main h3.border.left{
  text-align: left;
  padding: 13px 0px 20px;
  position: relative;
  }
main h3.border.left img.pc{
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  max-width: 10%;
}
main h3.border.left .ttl_txt{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  width: 85%;
  padding-left
}
main h3.border.left.number{
  padding-top: 19px;
  padding-bottom: 25px;
}
main h3.border.left .no_txt{
  font-size: 5.6rem;
  font-weight: 200;
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.3em;
}
main h3.border.left.number .ttl_txt{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  width: calc(100% - 1.5em);
  padding-left:1.7em;
}
main h3.border.left .big{
  font-size: 22px;
  color: #e4007f;
  font-weight: bold;
}
main h3.border.left .ttl_small{
  font-size: 15px;
  display: block;
  font-weight: normal;
}
main h3.bg_blue,main h3.page_h3_ttl5{
  background-color: #194375;
  color: #fff;
  font-size: 22px;
  padding:18px 35px;
  font-weight: normal;
  position: relative;
  /*border-bottom:1px solid #fff;*/
}
main .flow_box + .flow_box{
    border-top:1px solid #fff;
}

main h3.bg_blue span.oswald{
  display: inline-block;
  margin-right: 10px;
  vertical-align: inherit;
}

main h3.bg_blue.open_ttl{
  padding-right: 50px;
  position: relative;
}
main h3.bg_blue.open_ttl:hover{
  background-color: #1d4b81;
  /*border-bottom: 1px solid #fff;*/
}
main h3.bottom_line{
  border-bottom: 1px solid #111;
  /*width: 100%;*/
}
main .p_2c_side h3.bottom_line{
  margin: 0 10px;
}
/***********タイトル系パーツここまで************/
/***********開閉ボックスここから*************/
.open_box{
  display: block;
  position: absolute;
  right: 20px;
  top: 0;
  bottom:0;
  width: 37px;
  height: 37px;
  background-color: transparent;
  outline: none;
  border: none;
  cursor: pointer;
  margin: auto;
  z-index: 100;
}
.open_box:before{
  display: block;
  position: absolute;
  left: 0;
  top:0;
  bottom:0;
  margin-top: auto;
  margin-bottom: auto;
  width: 70%;
  height: 4px;
  background-color: #FFF;
  content: "";
  transition: transform 0.3s;
  margin-left: 15%;
  transform: rotate(0deg);
}
.open_box:after{
  position: absolute;
  left: 0;
  top:0;
  bottom:0;
  margin-top: auto;
  margin-bottom: auto;
  width: 70%;
  height: 4px;
  background-color: #FFF;
  content: "";
  transition: transform 0.3s;
  margin-left: 15%;
  transform: rotate(90deg);
}
.open_box.open_now:after{
  transform: translateY(0px) rotate(0deg);
}
.open_box.open_now:before{
  transform: rotate(0deg);
}



/***********開閉ボックスここまで**************/
/***********コースページトップスライダーここから**************/
.slide2 .slick-prev,.slide2 .slick-next{
  background-color: transparent;
  border: none;
  height: 70px;
}
.slide2 .slick-prev{
  left: 1%;
}
.slide2 .slick-next{
  right: 1%;
}
.slide2 .slick-prev:before{
  content: "";
  width: 70px;
  height: 70px;
  border: 4px solid;
  border-color: transparent transparent #1a4476 #1a4476;
  transform: scale(.5) rotate(45deg);
  position: relative;
  display: inline-block;
  overflow: hidden;
  left: 4px;
}
.slide2 .slick-next:before{
  content: "";
  width: 70px;
  height: 70px;
  border: 4px solid;
  border-color: #1a4476 #1a4476 transparent transparent;
  transform: scale(.5) rotate(45deg);
  position: relative;
  display: inline-block;
  overflow: hidden;
  left: -45px;
}
.slide2 .slick-dotted.slick-slider .slick-list{
  width: 980px;
  display: block;
  margin:10px auto;
  border: 2px solid #194375;
}
main .slide2 .slick-prev:hover:after,main .slide2 .slick-next:hover:after{
  background-color: transparent;
}
.slide2 .slick-prev:hover{
  left: 0%
}
.slide2 .slick-next:hover{
  right: 0%;
}
.slide2 .slick-dotted.slick-slider{
  margin-bottom: 0;
  padding-bottom: 30px;
}
/***********コースページトップスライダーここまで**************/
/***********こんな方におすすめ*************/
main .recommend{
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  background-color: #fff;
}
main .recommend .inner{
  padding: 60px 20px 40px;
}
main h2.thin{
  font-size: 36px;
  letter-spacing: 0.05em;
  font-weight: normal;
}
main .mark_list{
  margin: 0 0 0 2em;
}
main .mark_list li{
  font-size: 18px;
  text-indent:-1em;
  padding-left:1em;
}
main .mark_list li:before{
  content: url(/assets/dah/images/course/base/target_check.png);
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}
main .mark_list li.grid{
  margin-bottom: 0;
}

/***********こんな方におすすめここまで*************/
/***********ページ内ナビ***************/
main .pages_nav{
  background-color: #f6f6f6;
  padding: 30px 20px 20px;
}
main .pages_nav li{
  background-color: #f6f6f6;
  margin-bottom: 0;
  box-sizing: border-box;
  display: inline-block;
  margin-right: 50px;
}
main .pages_nav.vertical_list{
  background-color: transparent;
}
main .pages_nav.vertical_list li{
  display: block;
  background-color: #fff;
  padding: 5px 0;
}
main .pages_nav li:last-child{
  margin-right: 0px;
}
main .pages_nav li a{
  padding-left: 18px;
  font-size: 15px;
  box-sizing: border-box;
  position: relative;
}
main .pages_nav li a:after{
  content:"";
  border-bottom: 1px solid #000;
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: 0;
}
main .pages_nav li a:before{
  content: "";
    width: 15px;
    height: 15px;
    border: 2px solid;
    border-color: transparent transparent #000 #000;
    transform: scale(.5) rotate(-45deg);
    position: absolute;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    top: 0px;
    margin-right: 5px;
    transition: .2s;
}
main .pages_nav li a:hover:before{
  top: 3px;
}
main .pages_nav li a span.small_txt{
  font-size: 13px;
  position: absolute;
  top: -1.4em;
  left: 20px;
}
main .pages_nav li a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main .pages_nav li a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_sp.png) no-repeat center center;
    background-size: contain;
    border-color: transparent;
    position: relative;
    transform: none;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    margin-right:5px;
    top: 4px;
    z-index: 3;
}
main .pages_nav li a.window:after{
  display: none;
}
 main .menu_ttl{
  font-size: 14px;
  font-weight: bold;
  color: #111;
 }
ul.m-linkList {
    background-color: #FFF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
.m-linkList li {
    margin: 0 1% 1% 0;
    width: 24%;
    text-align: left;
    font-size:1.4rem;
    padding-bottom: 0px;
    padding-top: 0px;
    float: left;
  }
.m-linkList li a {
    font-weight: normal;
    padding:5px 0px;
    display: block;
    border-bottom:1px solid #ccc;
  }
.m-linkList li a:hover {
    border-bottom:1px solid #194375;
  }
.m-linkList .m-linkList_item span{
    display: block;
    line-height: 1.4;
    border-color: #fff #fff transparent transparent;
  }
.m-linkList .m-linkList_item span.ttl{
    font-weight:normal;
    line-height:1.4rem;
  }
.m-linkList .m-linkList_item a span.ttl:before{
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
  }
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list{
  padding: 0 0 20px;
  position: relative;
}
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list:after{
  content: "";
  display: block;
  width: 740px;
  height: 20px;
  background-color: #f6f6f6;
  position: absolute;
  left: -20px;
  bottom: -20px;
}
/***********ページ内ナビここまで***************/
/************お客様の声*************/

main .slide2 .slick-dots li button:before{
  border-top:16px solid #ccc;
  width: 16px;
}
main .slide2 .slick-dots li.slick-active button:before{
  border-top: 16px solid #2f5582;
}
main .slide2 .textblock .grid{
  background-color: transparent;
  padding: 20px;
}

main .detail_comment1{
  font-size: 14px;
}
main .more_read{
  display: block;
  font-size: 15px;
  margin: 70px auto;
  position: relative;
  text-align: center;
}
main .more_read .open_btn{
  position: relative;
  background-color: #000;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: middle;
  margin-right: 10px;
}
main .more_read .open_btn:before{
  display: block;
    position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(0deg);
}
main .more_read .open_btn:after{
  position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(90deg);
}
main .more_read.open_now2 .open_btn:after{
  transform: translateY(0px) rotate(0deg);
}
main .voice .textblock .gridbox.column2 .grid.sp{
  display: none;
}
/*************お客様の声ここまで****************/
/****************効果***************/
main .bgimage_area{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
main .efficacy .gridbox .grid{
  padding: 5px;
  background-color: transparent;
}
main .bgimg_txt{
  background-image: url(/assets/dah/images/course/base/bg_readcont.png);
  background-size: cover;
  background-position: top center;

}
main .bgimg_txt p{
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 40px 0 35px;
}
main .efficacy .efficacy_cont .grid{
  padding: 10px;
}
main .efficacy .efficacy_cont p{
  font-size: 15px;
  margin-top:20px;
}
/*************効果ここまで**************/
/*************STEPここから*************/
main .opensp_cont{
  display: block!important;
}
main .step .step_full{
  margin-bottom:110px;
}
main figcaption.caption_img.left img{
  margin:10px 70px;
}
main figure.figre_img {
  display: inline-block;
}
main figure.figre_img.image_orign{
  width: 48%;
}
main figure.figre_img.image_comment.sp{
  display: none;
}
main figure.figre_img.image_comment.pc{
  width: 50%;
  margin-left: 0.5%;
  padding-left: 20px;
  position: relative;
  display: inline-block;
}
main figure.figre_img.image_comment.pc:before{
content:" ";
position: absolute;
left: 0;
top: 0;
bottom: 0;
margin: auto;
width: 0;
height: 0;
border-style: solid;
border-width: 20px 25px 20px 0;
border-color: transparent #ffffff transparent transparent;
}
main figure.figre_img.image_comment.pc img{
  padding:28px 20px;
  background-color: #fff;
}
main .step p{
  font-size: 15px;
  margin-top: 20px;
}

main .step .textblock .grid{
  background-color: transparent;
  margin-bottom: 90px;
}
main .step .textblock .grid:nth-child(odd){
  padding-right: 10px;
}
main .step .textblock .grid:nth-child(even){
  padding-left: 10px;
}
/*************STEPここまで*************/
/**************横100画像エリア***************/
main .full_image img{
  width: 100%;
}
main .full_image p.full_image_txt{
  font-size: 36px;
  color: #194375;
  font-weight: bold;
  text-align: center;
  margin:100px 0;
}
/**************横100画像エリアここまで***************/
/**************体験の流れここから**********************/
main .flow .flow_box {
  position: relative;
}
main .flow .flow_box .grid{
  background-color: transparent;
}
main .flow .flow_box .grid p{
  font-size: 15px;
}
main .flow .flow_box .grid .btn_experience p,
main .flow .flow_box .grid .btn_salon p{
  font-size: 22px;
}
main .flow .flow_box .cont_box{
  padding-bottom: 80px;
  padding-top: 30px;
}
main .flow .flow_box .grid p + .page_h5_ttl1{
  margin-top: 30px;
}
main .flow .flow_box .cv_flow{
  background-color: #000;
  padding: 20px 10px 15px;
}
main .flow .flow_box .cv_flow .grid{
  margin-bottom: 0;
  display: block;
}
main .flow .flow_box .cv_flow .grid.sp{
  display: none;
}
main .flow .point{
  color: #e4007f;
}
main .bg_pink{
  background-color: #e4007f;
  color: #fff;
  padding: 3px 6px;
  font-size: 13px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_basecolor_txt{
  background-color: #194375;
  color: #fff;
  padding: 3px 6px;
  font-size: 15px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main a.bg_basecolor_txt{
  color: #fff;
}
main .bg_bk_txt,main a.bg_bk_txt{
  background-color: #111;
  color: #fff;
  padding: 1px 6px 4px 6px;
  font-size: 11px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_basecolor_txt.category_name{
  font-size: 13px;
}
main .category_tag.bg_basecolor_txt{
  font-size: 13px;
}
main .bg_bk_txt img{
  width: auto;
  display: inline-block;
  max-height: 1.4em;
  vertical-align: inherit;
  margin-right:3px;
  padding-top:4px;
}
main .bg_bk_txt:hover,main a.bg_bk_txt:hover{
  color: #fff;
  opacity: 0.6;
}
main .bg_basecolor_txt.medium_txt{
  font-size: 15px;
}
main .flow .textblock .gridbox:not(.cv_flow){
  justify-content: space-between;
}
main .gridbox.column2.left_big .grid:nth-child(1){
  width: 65%;
}
main .gridbox.column2.left_big .grid:nth-child(2){
  width: 34%;
}
main .gridbox.column2.right_big .grid:nth-child(1){
  width: 34%;
}
main .gridbox.column2.right_big .grid:nth-child(2){
  width: 65%;
}
main .gridbox.column2.right_medium .grid:nth-child(1){
  width: 39%;
}
main .gridbox.column2.right_medium .grid:nth-child(2){
  width: 60%;
}
/**************体験の流れここまで**********************/
/**************よくあるご質問ここから******************/
main .faq .faq_box .page_h4_ttl5:before{
  content:url(/assets/dah/images/course/base/icon_q.png);
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}
main .faq .faq_box .a_text{
  background-color: #fff;
  padding: 20px 35px 20px 70px;
  position: relative;
  font-size: 15px;
  margin-bottom: 0;
}
main .faq .faq_box .a_text:before{
  content:url(/assets/dah/images/course/base/icon_a.png);
  display: block;
  position: absolute;
  left: 35px;
  top: 20px;
}
/**************よくあるご質問ここまで*******************/
/**************ページ内バナーここから************************/
main .bnr_area a,
main .bnr_area .bnr_campaign,
main .bnr_area .bnr_campaign_bridal{
  display: block;
  text-align: center;
  margin:30px auto 0px;
}
main .bnr_area .bnr_pesonalgym{
  width: 908px;
}
main .bnr_area .bnr_campaign a,
main .bnr_area .bnr_campaign_bridal a{
  margin:0;
  padding: 0;
  width: 980px;
}
main .bnr_area .bnr_campaign a:nth-child(1){
  height: 235px;
  background-image: url(/assets/dah/images/salon/pic_conv_01_on.png);
  background-size: 100% auto;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: bottom;
}
main .bnr_area .bnr_campaign a:nth-child(2){
  height: 77px;
  background-image: url(/assets/dah/images/salon/pic_conv_02_on.png);
  background-size: 100% auto;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: bottom;
}
main .bnr_area .bnr_campaign_bridal a:nth-child(1){
  height: 217px;
  background-image: url(/assets/dah/images/course/bridal/pic_conv_01_on.png);
  background-size: 100% auto;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: bottom;
}
main .bnr_area .bnr_campaign_bridal a:nth-child(2){
  height: 104px;
  background-image: url(/assets/dah/images/course/bridal/pic_conv_02_on.png);
  background-size: 100% auto;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: bottom;
}
main .bnr_area .bnr_campaign a img:hover,
main .bnr_area .bnr_campaign_bridal a img:hover{
  opacity: 0;
}
/**************ページ内バナーここまで************************/
  /**************サロン一覧ここから********************/
  main .list_column{
    padding:75px 0 20px;
  }
  main .list_column dt{
    margin-bottom: 10px;
  }
  main .list_column dt a{
    margin-bottom: 0;
    font-size: 1.8rem;
    font-weight: bold;
    display: block;
    color: #194375;
  }
  main .list_column dd .prefbtn a{
    font-size: 1.6rem;
    font-weight: normal;
    display: block;
  }
  main a.arrow:before,
  main .list_column dt a:before,
  main .list_column dd .prefbtn a span:before,
  main table.salon_table th a:before,
  main .return_btn a:before,
  main .front_btn a:after{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -7px;
    top: 2px;
    z-index: 3;
  }
  main .list_column dt a:before{
    width: 16px;
    height: 16px;
    top: 0px;
  }
  main .return_btn a:before{
    transform: scale(.5) rotate(225deg);
    left: 0px;
  }
  main .front_btn a:after{
    left:auto;
    right: -2px;
  }
  main .list_column dt a:before{
    border-color: #194375 #194375 transparent transparent;
  }
  main table.salon_table th a:before{
    left: -3px;
  }
  main table.salon_table th a{
    color: #194375;
    font-weight: bold;
    font-size: 1.6rem;
    padding:1em 0;
    text-indent: -0.9em;
    padding-left: 0.9em;
    display: block;
  }
  main .list_column dd{
    margin-bottom: 20px;
  }
  main .list_column dd .prefbtn a .white_btn{
    height: 65px;
    position: relative;
    transition: 0.3s;
  }
  main .list_column dd .prefbtn a.btn_block div.white_btn{
    border-color: transparent!important;
  }
  main .list_column dd .prefbtn a .white_btn span{
    text-align: left;
    padding-left: 17px;
  }
  main .list_column dd .prefbtn a:hover .white_btn span:before{
    border-color: #fff #fff transparent transparent;

  }
  /**************サロン一覧ここまで********************/
  /**************サロンオープン情報ここから*****************/
  main div.news{
    margin-top:40px;
  }
  main div.news h3{
    padding: 20px 0 16px;
    margin:0;
    display: block!important;
  }
  main div.news dl.news_list{
    letter-spacing: 1px;
    display: table;
    width: 100%;
  }
  main div.news dl.news_list dt{
    display: table-cell;
    vertical-align: top;
    text-align: left;
    padding-right: 30px;
    width: 12%;
    padding: 20px 0px 20px 0px;
    border-top: 1px solid #000;
    min-width: 168px;
  }
  main div.news dl.news_list dt span.date{
    width: 68px;
    letter-spacing: 1px;
    font-weight: 400;
    color: #194375;
    text-align: left;
  }
  main div.news dl.news_list dt span.label{
    width: 100px;
    font-size: 1.2rem;
    text-align: center;
    display: inline-block;
    margin-left: 15px;
    padding: 2px 5px;
  }
  main div.news dl.news_list dd{
    display: table-cell;
    vertical-align: top;
    width: 60%;
    padding: 20px 0px 20px 20px;
    border-top: 1px solid #000;
  }
  main div.news dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
  }
  main div.news dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -8px;
    top: 1px;
  }
  /**************サロンオープン情報ここまで*****************/
/**************エリア別サロン一覧ここから*******************/
main .icon_guide{
  display: block;
  padding:40px 0 12px 0;
  text-align: right;
}
main .icon_guide ul li{
  display: inline-block;
  font-size: 13px;
  margin-left: 15px;
}
main .icon_guide ul li img{
  width: 25px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
main .pref_box{
  background-color: #fff;
  padding-bottom: 0px;
}
main .pref_box .cont_box{
  padding-bottom: 50px;
}
main .pref_box + section{
  margin-top: 50px;
}
main table.salon_table{
  width: 90%;
  box-sizing: border-box;
  margin:20px auto;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 15px;
}
main table.salon_table caption{
text-align: left;
margin:15px 0;
font-weight: bold;
}
main table.salon_table tr.table_top th{
  background-color: #cccccc;
  text-align: center;
  padding: 15px 0;
  line-height: 1.2em;
}
main table.salon_table tr.table_top th:nth-of-type(1){
  width:200px;
}
main table.salon_table tr.table_top th:nth-of-type(2){
  width:320px;
}
main table.salon_table tr.table_top th:nth-of-type(3){
  width:150px;
}
main table.salon_table tr.table_top th:nth-of-type(4){
  width:150px;
}
main table.salon_table tr.table_top th:nth-of-type(5){
  width:80px;
}
main table.salon_table tr:nth-child(even){
  background-color: #f6f6f6;
}
main table.salon_table tr:nth-child(odd){
  background-color: #f0f3f7;
}
main table.salon_table th,main table.salon_table td{
  vertical-align: middle;
  padding: 15px 10px;
  line-height: 1.5em;
  white-space: normal;
}
main table.salon_table td a.pref_tel{
 pointer-events: none;
}
main table.salon_table td span.parking{
  display: block;
  margin-top: 5px;
}
main table.salon_table td .parking_icon,
main table.salon_table td span.parking_txt{
  display: inline-block;
  vertical-align: middle;
}
main table.salon_table td .parking_icon{
  margin-right: 10px;
}
main table.salon_table td .campaign_icon img{
  margin:0 auto;
  display: block;
}
main table.salon_table td .parking_on{
  font-size: 13px;
  line-height: 1.3em;
}
main .g_map{
  height: 480px;
}
/**************エリア別サロン一覧ここまで*******************/
/*************重要なお知らせここから*********************/
main .important_txt{
  display: block;
  width: 100%;
  border: 2px solid #ff0000;
  background-color: #fff;
  margin:40px 0 0px 0;
  /*padding:20px;*/
  padding:20px 20px 0 20px;
  box-sizing: border-box;
}
main .important_txt a{
  text-decoration: underline;
}
main .important_txt h3{
  display: inline-block;
  background-image: url(/assets/dah/images/salon/icon_important.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
  font-weight: bold;
  /*font-size: 15px;*/
  /*width: 155px;*/
  font-size: 22px;
  vertical-align: top;
  margin: 0;
  color: red;
}
main .important_txt p{
  display: inline-block;
  /*width: 750px;*/
  font-size: 18px;
  margin-bottom: 0;
}
main .important_txt .red,
main .important_txt .red a,
main .important_txt .red a:link{
  color: red;
  font-weight: bold;
  font-size: 18px;
}
main.top .important_txt p{
 /* width: 82%;*/
 width: 100%;
}
main.top .important_txt p .label{
  font-size: 1.6rem;
}
main.top .important_txt p .label.open{
  background: #1a4476;
}
main.top .important_txt p .label.closed{
  background: #d52222;
}
main.top .important_txt .textblock{
  max-width: 100%;
  padding-left: 2em;
}
/*************重要なお知らせここまで*********************/
/**************サロン個別ページスライダーパーツ*****************/
main .slide_box{
  display: block;
  max-width: 480px;
  width: 480px;
  box-sizing: border-box;
}
main .slide_box .thumbnails{
  text-align: center;
}
main .slide_box .thumbnails li{
  width: 80px;
  height: auto;
  display: inline-block;
  margin: 0 4px;
}
main .slide_box .thumbnails li img{
  width: 80px;
  height: auto;
  display: block;
  margin:0 auto;
}
main .slide_box .thumbnails .slick-current img{
  border: 4px solid #244c7c;
}
main .slide_box .thumbnails{
  margin:30px auto 0;
}
main .thumbnails li.slick-slide{
  max-width: 100px!important;
}
main .slick-track{
  display: flex;
  justify-content: center;
}
main .slide2 .slick-initialized li.slick-slide{
  width: 980px;
}
main .slide_box .thumbnails li{
  position:relative;
}
main .slide_box iframe{
  height:331px;
}
main .slide_box .thumbnails li.view360:after {
  content: "";
  background: url(/assets/dah/js/pannellum/360.png) no-repeat;
  width: 70px;
  height: 45px;
  position: absolute;
  background-size: contain;
  bottom: 6px;
  right: 4px;
  opacity:0.7;
}
/**************サロン個別ページスライダーパーツ*****************/
/**************個別店舗情報ここから****************/
main dl.detail_info{
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
}
main dl.detail_info dt,
main dl.detail_info dd{
  padding: 10px 15px;
  border-bottom: 1px solid #f6f6f6;
}
main dl.detail_info dt{
  background-color: #ccc;
  width: 30%;
}
main dl.detail_info dd{
  width: 70%;
}
main dl.detail_info dd a{
  text-decoration: none;
}
main .front_btn{
  text-align: right;
}
main .return_btn a,
main .front_btn a{
  font-size: 15px;
}
/**************個別店舗情報ここまで****************/


  /**************ニュースリリース一覧情報ここから*****************/
  main div.news_block{
    margin-top:0px;
    padding: 20px
  }
  main div.news_block h3{
    padding: 20px 0 16px;
    margin:0;
    display: block!important;
  }
  main div.news_block dl.news_list{
    letter-spacing: 1px;
    display: table;
    width: 100%;
    background-color: #f6f6f6;
    padding:0 20px;
    margin-bottom: 2px;
  }
  main div.news_block dl.news_list dt{
    display: table-cell;
    vertical-align: top;
    text-align: left;
    padding-right: 30px;
    width: 24%;
    padding: 20px 0px 20px 0px;
    min-width: 168px;
  }
  main div.news_block dl.news_list dt span.date{
    width: 68px;
    letter-spacing: 1px;
    font-weight: 400;
    color: #194375;
    text-align: left;
  }
  main div.news_block dl.news_list dt span.label{
    width: 100px;
    font-size: 1.2rem;
    text-align: center;
    display: inline-block;
    margin-left: 15px;
    padding: 2px 5px;
  }
  main div.news_block dl.news_list dd{
    display: table-cell;
    vertical-align: top;
    width: 60%;
    padding: 20px 0px 20px 20px;
  }
  main div.news_block dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
  }
  main div.news_block dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -8px;
    top: 1px;
  }
  /**************ニュースリリース一覧情報ここから*****************/

  /**************ニュースリリース詳細情報ここから*****************/
  main div.news_contents{
    margin-top:0px;
    padding: 40px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  main div.news_contents a{
    text-decoration: underline;
  }
  main div.news_contents .center_img img{
    display: block;
    margin: 0 auto;
    width: auto;
    /*max-width: 400px;*/
  }
  /**************ニュースリリース詳細情報ここまで*****************/

  /**************はじめての方へインデックスここから*****************/
  .index_back_image{
    background-color:#fff;
    box-shadow:0px 0px 18px rgba(0,0,0,0.18);
    margin-bottom:20px;
  }
  .index_back_image h3{
    font-size: 2.2rem;
  }
  .index_back_image a{
    padding: 61px 20px;
    display: block;
  }
  .index_back_image:hover{
    opacity: 0.8;
  }
  /**************はじめての方へインデックスここまで*****************/

/***************個別パーツ用ここまで*****************/
/* sns */
    main section#sns{
       padding:80px 0 40px;
       background-color: #f6f6f6;
    }
    main section#sns .inner{
       max-width: 980px;
    }
    main section#sns .fan{
       display: flex;
       max-width: 980px;
       margin:20px 0px 50px;
    }
    main section#sns div.left,
    main section#sns div.right{
        width: 50%;
        display: inline-block;
        vertical-align: top;
    }
    main section#sns div.left{
        margin-right:9px;
    }
    main section#sns div.right{
            margin-left: 80px;
        text-align: right;
    }
    main section#sns div.left div.box,
    main section#sns div.right div.box{
        text-align: left;
    }
    main section#sns div.left figure,
    main section#sns div.right iframe{
        box-shadow: 0px 0px 15px rgba(0,0,0,.1);
        max-width: 450px;
    }
    main section#sns div.left p.ttl,
    main section#sns div.right p.ttl{
        font-size:1.8rem;
        font-weight: 400;
        margin-bottom: 0.5em;
    }
    main section#sns div.left p.ttl:before{
        content:url(/assets/dah/images/footer/icon_web.png);
        margin-right:10px;
    }
    main section#sns div.right p.ttl:before{
        content:url(/assets/dah/images/footer/icon_facebook.png);
        margin-right:10px;
    }
    main section#sns div.right .fb-page.fb_iframe_widget iframe{
        height:282px!important;
        width: 450px!important;
    }

    main section#sns .textblock .grid,
    main .pages_2column .p_2c_main #sns .grid{
        background-color: transparent;
    }
    main section#sns .textblock .grid:first-child,
    main .pages_2column .p_2c_main #sns .grid:first-child{
        text-align: right;
    }
    main section#sns .textblock .grid:nth-of-type(2),
    main .pages_2column .p_2c_main #sns .grid:nth-of-type(2){
        text-align: center;
    }
    main section#sns .textblock .grid a.btn_block,
    main .pages_2column .p_2c_main #sns .grid a.btn_block{
        width:240px;
        height:56px;
    }
    main section#sns .textblock .grid div a.btn_block div span,
    main .pages_2column .p_2c_main #sns .grid div a.btn_block div span{
        top: 45%;
    }
    main section#sns .textblock .grid div.twitterbtn a.btn_block div span:before,
    main .pages_2column .p_2c_main #sns .grid div.twitterbtn a.btn_block div span:before{
        content:url(/assets/dah/images/footer/sns_twitter.png);
        margin-right:8px;
        top: 5px;
        position: relative;
    }
    main section#sns .textblock .grid div.twitterbtn a.btn_block div.black_btn,
    main .pages_2column .p_2c_main #sns .grid div.twitterbtn a.btn_block div.black_btn{  border:0;  }
    main section#sns .textblock .grid div.twitterbtn a.btn_block div.black_btn:hover,
    main .pages_2column .p_2c_main #sns .grid div.twitterbtn a.btn_block div.black_btn:hover{   color:#fff!important;  }
    main section#sns .textblock .grid div.twitterbtn a.btn_block div.black_btn:hover::after,
    main .pages_2column .p_2c_main #sns .grid div.twitterbtn a.btn_block div.black_btn:hover::after{   background-color:#55acee;   }


    main section#sns .textblock .grid div.linebtn a.btn_block div span:before,
    main .pages_2column .p_2c_main #sns .grid div.linebtn a.btn_block div span:before{
        content:url(/assets/dah/images/footer/sns_line.png);
        margin-right:8px;
        top: 5px;
        position: relative;
    }
    main section#sns .textblock .grid div.linebtn a.btn_block div.black_btn,
    main .pages_2column .p_2c_main #sns .grid div.linebtn a.btn_block div.black_btn{  border:0;  }
    main section#sns .textblock .grid div.linebtn a.btn_block div.black_btn:hover,
    main .pages_2column .p_2c_main #sns .grid div.linebtn a.btn_block div.black_btn:hover{   color:#fff!important;  }
    main section#sns .textblock .grid div.linebtn a.btn_block div.black_btn:hover::after,
    main .pages_2column .p_2c_main #sns .grid div.linebtn a.btn_block div.black_btn:hover::after{   background-color:#00b900;   }


    main section#sns .textblock .grid div.instagrambtn a.btn_block div span:before,
    main .pages_2column .p_2c_main #sns .grid div.instagrambtn a.btn_block div span:before{
        content:url(/assets/dah/images/footer/sns_insta.png);
        margin-right:8px;
        top: 5px;
        position: relative;
    }
    main section#sns .textblock .grid div.instagrambtn a.btn_block div.black_btn,
    main .pages_2column .p_2c_main #sns .grid div.instagrambtn a.btn_block div.black_btn{  border:0;  }
    main section#sns .textblock .grid div.instagrambtn a.btn_block div.black_btn:hover,
    main .pages_2column .p_2c_main #sns .grid div.instagrambtn a.btn_block div.black_btn:hover{   color:#fff!important;  }
    main section#sns .textblock .grid div.instagrambtn a.btn_block div.black_btn:hover::after,
    main .pages_2column .p_2c_main #sns .grid div.instagrambtn a.btn_block div.black_btn:hover::after{   background-image: linear-gradient(-135deg,#1400c8,#b900b4,#f50000);   }

    main .pages_2column div.p_2c_main div.textblock.pages_content{
      max-width: 100%;
      width:100%;
      min-width: 100%;
    }



/*********        コンテンツマーケ用　　　************/
/**********画像リンクここから**********/
main .image_link_grid ul{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  height: 500px;
  display: -ms-grid;
  -ms-grid-rows: 250px 250px;
  -ms-grid-columns: 2fr 1fr 1fr;
}
main .image_link_grid ul li{
  display: block;
  position: relative;
  border: 1px solid #fff;
}
main .image_link_grid ul li a .image_link_box{
  width: 100%;
  display: block;
  height: 100%;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transition: 0.3s;
}
main .image_link_grid ul li a .image_link_box:hover{
  opacity: 0.8;
}

main .image_link_grid ul li:nth-child(1){
  grid-row: 1 / 3;
  grid-column: 1 / 2;
  -ms-grid-column:  1;
  -ms-grid-column-span: 1;
  -ms-grid-row: 1;
   -ms-grid-row-span: 2;
}
main .image_link_grid ul li:nth-child(2){
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(3){
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(4){
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  -ms-grid-row:2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(5){
  grid-row: 2 / 3;
  grid-column: 3 / 4;
  -ms-grid-row:2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}

main .image_link_grid ul li a.category_tag{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15;
}
main .image_link_grid ul li p.image_link_ttl{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px 10px 10px 10px;
  font-weight: bold;
  font-size: 15px;
  z-index: 15;
  background: linear-gradient(0deg,rgba(255,255,255,.8),rgba(255,255,255,0));
  text-shadow: 0 0 5px #ffffff;
}
main .image_link_grid ul li:nth-child(1) p.image_link_ttl{
  padding: 60px 20px 20px 20px;
}


/**********画像リンクここまで**********/
/********リンク用１ここから************/
main .category_name{
  text-align: left;
  margin-bottom: 3px;
}
main a.category_name:hover{
  color: #fff;
  opacity: 0.6;
}
main .linkbox_grid a:last-child{
  display: block;
}
main .linkbox_grid.grid{
  position: relative;
}
main .linkbox_grid.grid .new{
  position: absolute;
  left: 0;
  top:20px;
  font-size: 18px;
}
/********リンク用１ここまで************/
/********ページネーションここから*********/
main ul.pager,
.wp-pagenavi{
  width: 380px;
  margin:20px auto;
  display: flex;
  justify-content: center;
}
main ul.pager li + li,
.wp-pagenavi > *:not(:first-child){
  margin-left: 10px;
}
main ul.pager li.now,
.wp-pagenavi .current{
  background-color: #ccc;
  color: #808080;
  border:1px solid #ccc;
  padding: 5px 0;
}
main ul.pager li a,
.wp-pagenavi span,
.wp-pagenavi > a{
  display: block;
  background-color: #fff;
  color: #111;
  border:1px solid #111;
  width: 100%;
  height: 100%;
  padding: 5px 0;
  transition: 0.2s;
}
main ul.pager li,
.wp-pagenavi span,
.wp-pagenavi a{
  width: 45px;
  height: 45px;
  font-size: 18px;
  text-align: center;
}
main ul.pager li a:hover,
.wp-pagenavi a:hover{
  background-color: #111;
  color: #fff;
}

/********ページネーションここまで*********/
/********サイド用リンクパーツここから*****/
main .side_linkbox a{
  margin-bottom: 10px;
}
main .side_linkbox .gridbox{
  padding: 5px 10px;
  align-items: flex-start;
}
main .side_linkbox .gridbox.column2.right_big .grid:nth-child(odd){
  padding-right: 0;
  width: 20%
}
main .side_linkbox .gridbox.column2.right_big .grid:nth-child(even){
  padding-left: 2%;
  width: 77%;
}
main .side_linkbox .grid img{
  margin-right: 5px;
}
/********サイド用リンクパーツここまで*****/
/*********2カラム（サイドバー）ここから********/
main .pages_2column{
  display: flex;
  align-items: top;
  justify-content: space-between;
}
main .pages_2column .p_2c_main{
  width: 720px;
}
main .pages_2column .p_2c_main .post_content p{
  font-size: 15px;
}
main .pages_2column .p_2c_main .textblock.pages_content a{
  color: #194375;
  text-decoration: underline;
}
main .pages_2column .p_2c_side{
  width: 240px;
}

/*********2カラム（サイドバー）ここまで********/
/****一覧リンク(サイド用)ここから*****/
main ul.link_bggray{
  padding-left: 10px;
  padding-right: 10px;
}
main .mainttl_area ul.link_bggray{
  padding:0;
}

main ul.link_bggray li,
main .textblock ul.link_bggray li.grid{
  background-color: #f6f6f6;
  display: block;
  width: 100%;
  padding: 8px 12px;
  margin-bottom:12px;
}
main ul.link_bggray li a{
  display: block;
}
main ul.link_bggray li a:hover{
  opacity: 0.6;
}
main a.link_right{
  display: block;
  width: 100%;
  text-align: right;
  padding-right: 10px;
}
main ul.link_bggray.inline_list li{
  width: auto;
  display: inline-block;
  margin-right: 12px;
}
main ul.link_bggray.inline_list a{
  display: inline-block;
}
/****一覧リンク(サイド用)ここまで*****/
/*****一覧ページタイトルここから******/
main h1.nomal_big{
  font-size: 36px;
}
main h1.nomal_big.line_height_14{
  line-height: 1.4;
}
main .mainttl_area .date{
  margin-right: 10px;
}
main .mainttl_area .date,
main .mainttl_area .category_name{
  display: inline-block;
  vertical-align: bottom;
}
main .mainttl_area .graybk{
  display: block;
  width: 300px;
  text-align: center;
}
/*****一覧ページタイトルここまで******/
/********パンくずここから**********/
main .pankuzu.pankuzu_top{
  background-color: transparent;
  margin-bottom: 5px;
}
/********パンくずここまで**********/
/***一覧リンク(メイン用)ここから****/
main .border_link{
  border: 1px solid #111;
  padding-left: 15px;
  background-color: #fff;
  width: 100%;
}
main .border_link a{
  display: block;
  width: 100%;
  padding: 20px 15px 20px 1.1em;
}
/***一覧リンク(メイン用)ここまで****/
/*****シェアボタンここから***********/
main .bg_bk_txt.fbshare{
  background-image: url(/assets/dah/images/article/icon_fb2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.fb_good{
  background-image: url(/assets/dah/images/article/icon_good.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_tw{
  background-image: url(/assets/dah/images/article/icon_tw2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_hateb{
  background-image: url(/assets/dah/images/article/icon_bookmark.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main section#sns.share_sns .textblock .grid a.btn_block,
main .pages_2column .p_2c_main #sns .grid a.btn_block{
  width: 100%;
}

main section#sns .share_btn_bottom,
main .pages_2column .p_2c_main #sns .share_btn_bottom{
  text-align: right;
}
main section#sns .share_btn_bottom div,
main .share_btn_top div.fb_iframe_widget_fluid{
  vertical-align: super;
  display: inline-block;
}
main .share_btn_top div.fb_iframe_widget,
main .share_btn_top > iframe{
  vertical-align: bottom;
  height: 20px;
}


/*****シェアボタンここまで***********/

main .important_txt p.salon_important {
    font-size:16px; 
        }
}



/*
 * ==============================================
 * ■画面の横幅が980pxまで (Tablet & SP)
 * ==============================================
 */
@media screen and (max-width:980px){
    main{
        background-color:#f6f6f6;
        padding-bottom: 10%;
    }

    /* textblock */
    main .textblock{
        width:100%;
        max-width:100%;
        min-width:100%;
    }
    
	main .slide_box iframe{
		height:331px;
	}
	main .slide_box .thumbnails li.view360:after {
	    content: "";
	    background: url(/assets/dah/js/pannellum/360.png) no-repeat;
	    width: 70px;
	    height: 45px;
	    position: absolute;
	    background-size: contain;
	    bottom: 15px;
    	right: 4px;
    	opacity:0.7;
	}
}

/*
 * ==============================================
 * ■画面の横幅が481pxから980pxまで (Tablet)
 * ==============================================
 */
@media print, screen and (min-width:481px) and (max-width:980px) {

    main a:hover figure img{
        transition: .6s;
    }
    main a:hover figure{
        background-color:#fff;
    }
    main a:hover figure img{
        opacity: 0.8;
    }

    /* space */
    main .space10{
      height: 5px;
      display: block;
    }
    main .space20{
      height: 10px;
      display: block;
    }
    main .space40{
      height: 20px;
      display: block;
    }
    main .space60{
      height: 30px;
      display: block;
    }
    main .space80{
      height: 40px;
      display: block;
    }
    main .space10.sp,main .space20.sp,main .space40.sp,main .space60.sp,main .space80.sp,
    main .space10.pc,main .space20.pc,main .space40.pc,main .space60.pc,main .space80.pc{
      display: none;
    }
    main .space10.pc.tab,main .space20.pc.tab,main .space40.pc.tab,main .space60.pc.tab,main .space80.pc.tab{
      display: block;
    }
    main .margin20{
      margin-top: 10px;
      margin-bottom: 10px;
      display: block;
    }
    main .margin40{
      margin-top: 20px;
      margin-bottom: 20px;
      display: block;
    }
    main .margin60{
      margin-top: 30px;
      margin-bottom: 30px;
      display: block;
    }
    main .margin80{
      margin-top: 40px;
      margin-bottom: 40px;
      display: block;
    }
    main .margin20.sp,main .margin40.sp,main .margin60.sp,main .margin80.sp,
    main .margin20.pc,main .margin40.pc,main .margin60.pc,main .margin80.pc{
      display: none;
    }
    main .margin20.pc.tab,main .margin40.pc.tab,main .margin60.pc.tab,main .margin80.pc.tab{
      display: block;
    }
    main .padding20{
      padding:20px;
    }
    main .padding40{
      padding:40px;
    }

    /* iframe */
    main iframe{
      width:100%;
      margin:0 auto;
      display: block;
    }

    /* title */
    main .ttlblock{
        text-align:center;
    }
    main .ttlblock h2{
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 300;
    }
    main .ttlblock .ttlsub{
        font-size: 1.4rem;
        color:#164072;
    }
    main .ttlblock .text{
        margin-top: 38px;
        font-size: 1.6rem;
    }

    /* tag */
    main span.tag{
       z-index: 2;
       font-size: 1.2rem;
       padding: 0px 10px;
       margin-bottom:0.2em;
       color:#fff;
       background-color: #194375;
    }
    main span.label{
       z-index: 2;
       font-size: 1.2rem;
       padding: 0px 18px;
       margin-bottom:0.2em;
       color:#fff;
       background-color: #194375;
    }

    /* textblock */
    main .textblock{
        width:100%;
        max-width:100%;
        min-width:100%;
    }
    main .textblock .gridbox{
        display: flex;
        flex-wrap: wrap;
        position: relative;
    }
    main .textblock .grid{
        position: relative;
        transition: .6s;
        background-color: #fff;
        overflow:visible;
        margin-bottom: 1%;
        margin-right: 0.5%;
    }
    main .textblock .bg_clear .grid{
      background-color: transparent;
    }
    main .textblock .gridbox.column2 .grid{
        width: 49.5%;
        margin-right: 1%;
    }
    main .textblock .gridbox.column2 .grid:last-child{
        margin-right: 0%;
    }
    main .textblock .gridbox.column2 .grid:nth-of-type(even){
        margin-right: 0%;
    }
    main .textblock .gridbox.column3 .grid{
        width: 33%;
    }
    main .textblock .gridbox.column3 .grid:nth-child(3n){
        margin-right: 0%;
    }
    main .textblock .gridbox.column4 .grid{
        width: 24.625%;
    }
    main .textblock .gridbox.column4 .grid:nth-child(4),
    main .textblock .gridbox.column4 .grid:nth-child(8),
    main .textblock .gridbox.column4 .grid:nth-child(12),
    main .textblock .gridbox.column4 .grid:nth-child(16){
        margin-right: 0%;
    }
    main .textblock .gridbox.column5 .grid{
        width: 19.6%;
    }
    main .textblock .gridbox.column5 .grid:last-child{
        margin-right: 0%;
    }
    main .textblock .gridbox.column6 .grid{
        width: 16.2%;
    }
    main .textblock .gridbox.column6 .grid:last-child{
        margin-right: 0%;
    }
    main .textblock .gridbox.column7 .grid{
        width: 13.7%;
        margin-bottom: 5px;
    }
    main .textblock .gridbox.column7 .grid:nth-child(7),
    main .textblock .gridbox.column7 .grid:nth-child(14){
        margin-right: 0%;
    }
    main .textblock .gridbox.column7 .grid:nth-child(1),
    main .textblock .gridbox.column7 .grid:nth-child(8){
        margin-left: 0.5%;
    }
    main .textblock .grid .linkblock{
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      display: block;
    }
    .article .textblock .gridbox.column3 .grid img {
        height: 120px;
        width: 100%;
       object-fit: cover;
    }


    /* local navi */
    main .localnav{
      display: block;
    }
    main .localnav .localnav_contents{
      width:100%;
      display: block;
    }
    main .localnav .localnav_nav{
      width:100%;
      display: block;
      padding:20px;
    }
    main .localnav .localnav_nav .localnav_list{
      display: block;
    }
    main .localnav .localnav_nav .localnav_list li{
      width:49%;
      display: inline-block;
      background-color:#fff;
      margin:0px 2px 0;
      line-height: 1;
    }
    main .localnav .localnav_nav .localnav_list li a{
      width:100%;
      padding:0;
      margin: 0;
    }
    main .localnav .localnav_nav .localnav_list li a div{
      width:100%;
      display: block;
      color: #000!important;
      background-color: #fff!important;
      font-size: 1.5rem;
      padding:29px 0px;
      border:0!important;
      line-height: 1.4;
    }
    main .localnav .localnav_nav .localnav_list li a.active div{
      color: #fff!important;
      background-color: #000!important;
    }
    main .localnav .localnav_nav .localnav_list li a div span{
      text-align: left;
      padding:0px 20px;
      font-size: 1.4rem;
    }
    main .localnav .localnav_nav .localnav_list li a div span:before{
      content: "";
      width: 14px;
      height: 14px;
      border: 2px solid;
      border-color: #000 #000 transparent transparent;
      transform: scale(.5) rotate(45deg);
      position: relative;
      display: inline-block;
      overflow: hidden;
      left: -8px;
      top: 2px;
    }
    main .localnav .localnav_nav .localnav_list li a.active div span:before{
      border-color: #fff #fff transparent transparent;
    }

    /* table */
    main table{
      width: 100%;
      box-sizing: border-box;
      margin:20px auto;
      border-collapse: separate;
      border-spacing: 2px;
    }
    main table caption{
      text-align: left;
      margin:15px 0;
    }
    main table tr.table_top th{
      background-color: #cccccc;
      text-align: center;
      padding: 15px 0;
      line-height: 1.2em;
    }
    main table tr:nth-child(even){
      background-color: #f6f6f6;
    }
    main table tr:nth-child(odd){
      background-color: #f0f3f7;
    }
    main table th,
    main table td{
      vertical-align: middle;
      padding: 15px 10px;
      line-height: 1.5em;
      min-width: 100px;
    }
    main table th{
      white-space: nowrap;
      font-weight: bold;
    }

    main section{
        clear: both;
    }

    main section div.fadebox{
       position: relative;
       display: block;
       transition: 0.8s ease;
       transition-delay: 0.0s;
       top:0px;
       opacity: 1;
    }
    main section div.fadebox.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox1{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 0.2s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox1.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox2{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 0.7s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox2.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox3{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 1.2s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox3.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox4{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 1.7s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox4.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox5{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 2.2s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox5.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox6{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 2.7s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox6.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox7{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 3.2s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox7.open{
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox8{
       transition: 1.2s ease;
       -webkit-transition: 1.2s ease;
       transition-delay: 3.7s;
       top:0px;
       opacity: 1;
    }
    main section .gridbox .grid.fadebox8.open{
       top:0px;
       opacity: 1;
    }

   main div.morebtn{
     margin-top:15px;
     display: block;
     text-align: center;
   }
   main div.morebtn a.btn_block{
     max-width: 320px;
     width: 80%;
     height: 64px;
     font-size: 1.8rem;
     font-weight: normal;
     box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
   }
   main div.morebtn a.btn_block div span:before{
     content: "";
     width: 14px;
     height: 14px;
     border: 3px solid;
     border-color: #fff #fff transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: relative;
     display: inline-block;
     overflow: hidden;
     left: -7px;
   }
   main div.morebtn a.btn_block:hover div span:before{
     border-color: #fff #fff transparent transparent;
   }

/*****************個別パーツ用ここから***********************/
main .textblock.pages_content,
main .textblock.pages_content.wide_area,
main .textblock.pages_content.full_area{
  max-width: 100%;
  box-sizing: border-box;
  margin:0 auto;
  display: block;
}

main .leftblock550.pages_content{
  width: 550px;
}
main .leftblock700.pages_content{
  width: 650px;
}
main span.tab_br{
  display: block;
  font-weight: inherit;
}
main span.pc_br,main span.sp_br{
  font-weight: inherit;
}
.full_img img{
  width: 100%;
}
.space_sp.pc,.space_sp.sp{
  display: none;
}
.space_sp,.space_sp.tab{
  padding-left:20px;
  padding-right: 20px;
  box-sizing: border-box;
  display: block;
  max-width: 100%;
}
main .lefticon_box{
  width: 100%;
  padding: 20px 35px 20px 45px;
  position: relative;
  font-size: 26px;
}
main .lefticon_box .left_icon{
  position: absolute;
  left: 20px;
  top:15px;
}

main .qa h3.border.left {
  padding: 20px 0px 20px 40px;
}
main .qa .lefticon_box{
  width: 100%;
  padding: 20px 0px 20px 40px;
  position: relative;
  font-size: 26px;
}
main .qa h3 .left_icon{
  position: absolute;
  left: 10px;
  top:15px;
  font-size: 2.5rem;
}
main .qa .lefticon_box .left_icon{
  position: absolute;
  left: 10px;
  top:15px;
  font-size: 2.6rem;
}


/* 3カラム　ブロック一覧　ここから*/
main .textblock .gridbox.blocklist .grid{
  width:49%;
  margin-right:2%;
  margin-bottom:2%;
  padding-bottom:60px;
  position: relative;
}
main .textblock .gridbox.blocklist .grid:nth-of-type(2n){
    margin-right: 0%;
    text-align: left;
}
main .textblock .gridbox.blocklist .grid:nth-of-type(3n){
    margin-right:2%;
    text-align: left;
}
main .textblock .gridbox.blocklist .grid:nth-of-type(6n){
    margin-right:0%;
    text-align: left;
}
main .textblock .gridbox.blocklist .grid span{
  font-size: 1.3rem;
  line-height: 1.2;
}
main .textblock .gridbox.blocklist .grid h3{
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid ul.mark_list li{
  font-size: 1.3rem;
  line-height: 1.2;
  margin-bottom:10px;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid a.btn_block{
    height: 50px;
}
main .textblock .gridbox.blocklist .grid .heightfix{
    min-height: 168px;
}
main .textblock .gridbox.blocklist .grid .heightfix.medium{
    min-height: 190px;
}
main .textblock .gridbox.blocklist .grid .heightfix.long{
    min-height: 210px;
}
main .textblock .gridbox.blocklist .grid .tagblock{
  display: block;
}
main .textblock .gridbox.blocklist .grid .tagblock p{
  display: inline-block;
  margin-bottom:5px;
  line-height: 1.4;
}
main .textblock .gridbox.blocklist .grid .special_txt{
  line-height: 1.2;
  font-weight: bold;
  position: absolute;
  bottom:15px;
  letter-spacing: 0.2px;
}
main .textblock .gridbox.blocklist .grid .special_txt .small{
  font-size: 1.6rem;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .special_txt .big{
  font-size: 4.8rem;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .morebtn{
    position: absolute;
    bottom: 20px;
    width: 100%;
}
main .textblock .gridbox.blocklist .grid .mark_list{
  margin:0;
  margin: 0 0 0 1em;
}
/* 3カラム　ブロック一覧　ここまで*/
/* 3カラム　テキストリンク　ここから*/
main .textblock .gridbox .grid p.lead {
    text-align: left;
    color: #000;
    font-weight: bold;
    font-size: 1.4rem;
    display: block;
    margin-top: 9px;
    margin-bottom: 0;
}
main .textblock .gridbox .grid .menu span.ttl {
    font-size: 1.4rem;
}
main .textblock .gridbox .grid .menu figure{
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
}
main .textblock .gridbox .grid a span.ttl:before {
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
}
/* 3カラム　テキストリンク　ここまで*/

main .border_cont .grid{
  padding: 15px;
  font-weight: bold;
}
main .border_cont .grid .bc_ttl{
  border-bottom: 1px solid #194375;
  color: #194375;
  font-size: 16px;
  padding-bottom: 8px;
}
main .border_cont .grid .bc_ttl span{
  font-size: 30px;
}
main .border_cont .grid .bc_txt{
  display: block;
  font-size: 18px;
  padding-top: 8px;
  font-weight: bold;
}
main .number_cont.normal .nc_ttl{
  font-weight: bold;
  font-size: 18px;
  display: inline-block;
  width: 84%;
  padding: 0px 20px 0px 0px;
  vertical-align: middle;
  line-height: 1.4;
}
main .number_cont.normal .nc_number{
  font-size: 34px;
  display: inline-block;
  color: #194375;
  width: 15%;
  padding: 0;
  padding-left: 10px;
  vertical-align: middle;
  min-width: 56px;
}
main .number_cont.normal .nc_number:after{
      content: "";
    height: 30px;
    width: 1px;
    background-color: #194375;
    margin-left: 12px;
    position: relative;
    display: inline-block;
    top: 2px;
}
main .number_cont.normal .grid{
  padding:5px;
  display: flex;
  align-items: center;
}
main .number_cont .nc_ttl{
  font-weight: bold;
  font-size: 18px;
  display: inline-block;
  width: 73%;
  padding:10px 0 10px 20px;
  vertical-align: middle;
}
main .number_cont .nc_number{
  font-size: 38px;
  display: inline-block;
  color: #194375;
  width: 25%;
  padding-left: 20px;
  vertical-align: middle;
}
main .number_cont .grid img{
  width: 100%;
}
main .number_cont2 .nc2_ttl{
  font-size: 16px;
  font-weight: bold;
  padding: 0 10px;
}
main .number_cont2 .nc2_number{
  font-size: 16px;
  font-weight: bold;
  color: #194375;
  padding: 10px;
}
main .number_cont2 .nc2_number span{
  font-size: 30px;
}
main .number_cont2 .nc2_txt{
  padding: 10px;
}
main .icon_box .grid{
  padding: 10px 5px;
  box-sizing: border-box;
  text-align: center;
}
main .icon_box .grid img{
  height: 35px;
  width: auto;
  display: block;
  margin:0 auto 10px auto;
}
main .dual_tablebox{
  display: flex;
}

main .dual_table2 .dual_left{
  display: none;
}
main .dual_table1,main .dual_table2{
  display:table;
  box-sizing: border-box;
  background-color: transparent;
  color: #194375;
  border-collapse: collapse;
}
main .dual_tablebox table th,
main .dual_tablebox table td{
  font-size: 15px;
  vertical-align: middle;
  position: relative;
  padding: 0;
}
main .dual_tablebox table.dual_table1 th,
main .dual_tablebox table.dual_table1 td{
  font-weight: bold;
}
main .dual_tablebox table.dual_table2 td{
  padding-left: 70px;
}


main .dual_tablebox table th img,
main .dual_tablebox table td img{
  display: block;
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
main .dual_table1 tr,main .dual_table2 tr{
  border-bottom: 2px solid #194375;
  height: 130px;
}
main .dual_table1 tr:first-child th,main .dual_table2 tr:first-child th{
  text-align: center;
  font-size: 20px;
  font-weight: normal;
}
main .dual_table1 tr:first-child th span.big_tttl,
main .dual_table2 tr:first-child th span.big_tttl{
  display: block;
  font-size: 16px;
}
main .dual_table1{
  width: 100%;
  padding-bottom: 20px;
  position: relative;
  z-index: 10;
}
main .dual_table2{
  width: 40%;
}
main .dual_table1 .dual_left{
  width: 34%;
  vertical-align: middle;
}
main .dual_table2 .dual_right{
  padding: 30px 20px;
}
main .dual_table1 .dual_right{
  width: 66%;
  padding: 30px 20px;
}
main .dual_table1 .dual_right span.bg_yellow{
  display: block;
    position: relative;
  padding-left: 70px;
}
.dual_1{
  position: relative;
  width: 60%
}
/*main .dual_table1:after*/
.table_bgcolor{
  display: block;
  width: 66%;
  height: 105%;
  position: absolute;
  top: 0;
  right: 0;
  background-color:#ffe400;
  z-index: 1;
}
main .dual_table2 .dual_right{
  width: 100%;
}
main .dual_tablebox table tr:nth-child(even),
main .dual_tablebox table tr:nth-child(odd){
  background-color: transparent;
}

/***********色・サイズ系*******************/

main .small_txt{
  font-size: 11px;
}
main figcaption.caption_img img.pc{
  display: block;
  margin:10px auto;
  display: block;
}
main.page_content_bg{
  background-color: #f6f6f6;
}
 main .big_txt{
  font-size: 26px;
  font-weight: bold;
}
 main .big18_txt{
  font-size: 18px;
}
 main .big20_txt{
  font-size: 20px;
}
 main .over_txt{
  font-size: 36px;
  font-weight: bold;
}
main .medium_txt{
  font-size: 15px;
}
main .pink_txt{
  color: #e4007f;
}
main .basecolor_txt{
  color: #194375;
}
main .white_txt{
  color: #fff;
}
main a.pink_txt:link{
  text-decoration: underline;
  color: #e4007f;
}
main a.arrow{
    text-indent: -1.1em;
    padding-left: 1.1em;
    display: inline-block;
    line-height: 1.4;
}
main a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_sp.png) no-repeat center center;
    background-size: contain;
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    margin-right:5px;
    top: 4px;
    z-index: 3;
}
main a.underline{
  text-decoration: underline;
}
main .wide_link a{
  width: 100%;
  display: block;
  padding:20px 45px 20px 25px;
  position: relative;
}
main .wide_link a:nth-child(even){
    background-color: #f6f6f6;
}
main .wide_link a:nth-child(odd){
    background-color: #f0f3f7;
}
main .wide_link a:before{
     content: "";
     width: 16px;
     height: 16px;
     border: 2px solid;
     border-color: #000 #000 transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: absolute;
     display: inline-block;
     overflow: hidden;
     right: 20px;
     top:calc(50% - 8px);
}
main .bold{
  font-weight: bold;
}
main .lighter{
  font-weight: lighter;
}
main .under_line{
  text-decoration: underline;
}
main .center_txt{
  text-align: center;
}
main p.right_txt{
  text-align: right;
  font-size: 12px;
}
main a.pink_txt:hover{
  color: #f32598;
}
ul.icon_list li{
  list-style: none;
  padding-left: 1em;
  position: relative;
}
ul.icon_list li:first-letter{
  margin-left: -1em;
}
ul.icon_list.sq_list li:first-letter{
  margin-left: 0;
}
ul.icon_list.inline_list li{
  display: inline-block;
  margin-right: 1em;
}
ul.icon_list.half li{
  padding-left: 0.5em;
}
ul.icon_list.half li:first-letter{
  margin-left: -0.5em;
}
ul.icon_list li .square:before{
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: 0em;
  width: 8px;
  height: 8px;
  background-color: #194375;
}
 main p.bg_black.pc.tab{
  background-color: #000;
  display: block;
  color: #fff;
  font-size: 25px;
  text-align: center;
  font-weight: bold;
  padding:25px 0;
}
.center_img{
  display: block;
  width: 100%;
  padding: 0 20px;
  text-align: center;
}
.center_img img{
  /*display: block;*/
  /*margin:0 auto;*/
}
.left_img{
  display: block;
  width: 100%;
}
.left_img figure{
  display: inline-block;
  width: 25%;
  vertical-align: top;
  text-align: center;
  margin-right:20px;
}
.left_img figure:last-child{
  margin-right:0px;
}
.left_img img.tab.pc{
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: bottom;
}
.left_img img.tab.sp{
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/***********色・サイズ系****************/
/*********ページタイトル**************/
 main .bg_right{
 background-position: right top;
 background-size: auto 100%;
 background-repeat: no-repeat;
 padding-top: 20px;
 padding-bottom: 20px;
 background-color: #fff;
}

main h1.bg_image img.pc{
  display: block;
  width: 60%;
}
main .border_top_gray {
  border-top:1px solid #f6f6f6;
}
main .border_blue {
   border:1px solid #194375;
}
main h1.bg_none {
   max-width: 1000px;
   margin: 0 auto;
   display: block;
   padding:28px 20px 34px;
   background:#fff;
   font-size: 2.6rem;
   line-height: 1.4;
}
main h1.bg_none span.lead{
   font-size: 1.6rem;
   display: block;
   font-weight: bold;
   line-height: 1.4;
   margin-bottom:4px;
}
main h1.bg_none span.date{
   font-size: 1.4rem;
   display: block;
   font-weight: normal;
   margin-top:4px;
}
main .bnr_campaign,
main .bnr_campaign_bridal{
  margin:20px 0;
}
main .pages_ttl2{
padding:40px 20px;
background-size: auto 100%;
background-position: right top;
background-repeat: no-repeat;
}
main .pages_ttl2 h2{
  font-size: 32px;
  font-weight: bold;
}
main .pages_ttl3{
padding:40px 10px;
background-color: #fff;
}
main .pages_ttl3 h2{
  font-size: 28px;
  font-weight: bold;
}
main .pages_ttl3 h2 span{
  font-size: 18px;
  display: block;
  font-weight: bold;
}
/********ページタイトルここまで******************/
/**********CVエリアここから**********/

 main .app_area.sp{
  display: none;
 }
 main .app_area{
  padding-bottom: 30px;
}
 main .app_area .textblock .gridbox{
  width: 90%;
  margin:0 auto;
 }
 main .app_area .textblock .grid{
  margin-bottom: 0;
  background-color: #000;
}
main .cv_area{
  background-color: #e5e5e5;
  padding-top: 25px;
}
main .cv_top{
  padding-top: 20px;
}
main .textblock .gridbox.cv_top,
main .cv_btn .gridbox{
  width: 100%;
  margin:0 auto;
  box-sizing: border-box;
}
main .cv_btn .textblock .gridbox.column2 .grid{
  padding: 0;
}
main .textblock .gridbox.cv_top .grid:nth-child(1){
  width: 38%;
}
main .textblock .gridbox.cv_top .grid:nth-child(2){
  width: 60%;
  padding-left: 35px;
}
main .textblock .gridbox.cv_top .grid:nth-child(2) .cva_text{
  font-size: 16px;
  font-weight: bold;
}
main .textblock .gridbox.cv_top .grid:nth-child(2) .price img,
main .textblock .gridbox.cv_top .grid:nth-child(2) .price p{
  display: inline-block;
  vertical-align: middle;
  margin-top: 10px;
}
main .cv_btn{
  background-color: #000;
  padding:17px 0 23px;
}
main .cv_btn .textblock .gridbox.column2 .grid{
  margin-bottom: 0;
  padding-right: 0;
}
.btn_experience_img{
  display: block;
  position: relative;
}
.btn_experience_img:before{
  content: "";
  background:url(/assets/dah/images/course/base/arrow_experience.png) no-repeat;
  background-size: cover;
  width: 35px;
  height: 22px;
  position: absolute;
  left: 10%;
  top: 20%;
  animation: horizontal 1s ease-in-out infinite normal;
  -webkit-animation:horizontal 1s ease-in-out infinite normal;
  -ms-animation:horizontal 1s ease-in-out infinite normal;
  z-index: 2;
}
.salon_trialform{
  margin: 20px auto;
}
.salon_trialform .btn_experience_img:before{
  top: 30%;
}
/*********CVエリアここまで************/
/**********ボタン系ここから**************/
.btn_experience,
.btn_salon{
  width: 100%;
  display: block;
  height: 64px;
  padding-top: 12px;
  box-sizing: border-box;
  position: relative;
  transition: 0.3s;
}
.btn_experience p,
.btn_salon p{
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  z-index: 10;
  position: relative;
  background-repeat: no-repeat;
}
.btn_experience p{
  background-image: url(/assets/dah/images/course/base/icon_experience.png);
  background-position: left 30px center;
  transition: 0.3s;
}
.btn_salon p{
  background-image: url(/assets/dah/images/course/base/icon_salon.png);
  background-position: left 80px center;
  transition: 0.3s;
}

.btn_experience p img,
.btn_salon p img{
  display: inline-block;
  margin-right: 10px;
  vertical-align: text-bottom;
  padding-bottom: 3px;
}
.btn_experience{
  background-color: #e4007f;
  color: #fff;
  z-index: 0;
}
.btn_experience:after{
  content:"";
  height: 32px;
  background-color: #c9006f;
  border:1px solid #c9006f;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.btn_salon{
  background-color: #fff;
  color: #000;
}
.btn_salon:after{
  content:"";
  height: 32px;
  background-color: #e5e5e5;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.epilation_salon .grid a{
  display: block;
  text-align: center;
  color: #194375;
  font-size: 14px;
  transition: 0.3s;
  background-color: #fff;
  position: relative;
  border: 1px solid #fff;
}
/**********ボタン系ここまで**************/
/***********タイトル系パーツ*************/
main h2.center{
  font-size: 28px;
  text-align: center;
}
main h2.center:after{
  content:"";
  width: 60px;
  height: 4px;
  background-color: #194375;
  display: block;
  margin:35px auto 55px;
}
main h2.center.sp_img{
  background-image: none!important;
}

main h3.page_h3_ttl2{
  text-align: center;
  margin-bottom: 20px;
}
main h3.page_h3_ttl2 img.pc{
  width: 90%;
  display: block;
  margin:0 auto;
}
main table.salon_table caption{
  font-size: 16px;
  font-weight: bold;
  margin:15px 0;
}
main h4.page_h4_ttl2 img.pc{
display: block;
margin:0 auto 50px;
}
main h3.border{
  background-color: #fff;
  text-align: center;
  font-size: 18px;
  padding-top: 18px;
  padding-bottom: 18px;
  margin:0px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
main h3.border.left{
  padding-top: 18px;
  padding-bottom: 18px;
  text-align: left;
}
main h3.border.left img.pc{
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  max-width: 10%;
}
main h3.border.left .ttl_txt{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  max-width: 87%;
}
main h3.border.left.number{
  padding-top: 18px;
  padding-bottom: 18px;
  position: relative;
}
main h3.border.left .no_txt{
  font-size: 4.2rem;
  font-weight: 200;
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.5em;
}
main h3.border.left.number{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  width: 100%;
  padding-left:1.8em;
  max-width: 100%;
}
main .step_full h3.border.left .ttl_txt{
  max-width: 680px;
}
main h3.border.left .big{
  font-size: 22px;
  color: #e4007f;
  font-weight: bold;
}
main h3.border.left .ttl_small{
  font-size: 15px;
  display: block;
  font-weight: normal;
}
main h3.bg_blue,
main h3.page_h3_ttl5{
  background-color: #194375;
  color: #fff;
  font-size: 22px;
  padding-top:18px;
  padding-bottom: 18px;
  font-weight: normal;
  position: relative;
  border-bottom: 1px solid #fff;
}
main h3.page_h3_ttl5{
  margin:0;
}
main h3.bg_blue span.oswald{
  display: inline-block;
  margin-right: 10px;
}
main h3.bg_blue.open_ttl{
  padding-right: 50px;
  position: relative;
}
main h3.bottom_line{
  border-bottom: 1px solid #111;
  /*width: 100%;*/
}

/***********タイトル系パーツここまで************/
/***********開閉ボックスここから*************/
.open_box{
  display: block;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  width: 37px;
height: 37px;
background-color: transparent;
outline: none;
border: none;
cursor: pointer;
margin: auto;
z-index: 100;
}
.open_box:before{
display: block;
position: absolute;
left: 0;
top:0;
bottom:0;
margin-top: auto;
margin-bottom: auto;
width: 70%;
height: 4px;
background-color: #FFF;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: rotate(0deg);
}
.open_box:after{
position: absolute;
left: 0;
top:0;
bottom:0;
margin-top: auto;
margin-bottom: auto;
width: 70%;
height: 4px;
background-color: #FFF;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: rotate(90deg);
}
.open_box.open_now:after{
  transform: translateY(0px) rotate(0deg);
}
.open_box.open_now:before{
transform: rotate(0deg);
display: block;
}


/***********開閉ボックスここまで**************/
/***********コースページトップスライダーここから**************/
.slide2 .slick-prev,.slide2 .slick-next{
  background-color: transparent;
  border: none;
  height: 70px;
}
.slide2 .slick-prev{
  left: 2%;
}
.slide2 .slick-next{
  right: 2%;
}
.slide2 .slick-prev:before{
  content: "";
    width: 70px;
    height: 70px;
    border: 4px solid;
    border-color: transparent transparent #1a4476 #1a4476;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: 4px;
}
.slide2 .slick-next:before{
  content: "";
    width: 70px;
    height: 70px;
    border: 4px solid;
    border-color: #1a4476 #1a4476 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -45px;
}
.slide2 .slick-dotted.slick-slider .slick-list{
  width: 100%;
  display: block;
  margin:10px auto;
  border: 2px solid #194375;
}
.slide2 .slick-dotted.slick-slider{
  margin-bottom: 0;
  padding-bottom: 30px;
}
/***********コースページトップスライダーここまで**************/
/***********こんな方におすすめ*************/
 main .recommend{
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  background-color: #fff;
}
 main .recommend .inner{
  padding: 60px 20px 40px;
}
 main h2.thin{
  font-size: 32px;
  letter-spacing: 0.05em;
  font-weight: normal;
}
 main h2.thin .pc{
  display: block;
 }
main .mark_list{
  margin: 30px 0 0 2em;
}
main .mark_list li{
  font-size: 18px;
  text-indent:-1em;
  padding-left:1em;
}
 main .mark_list li:before{
  content: url(/assets/dah/images/course/base/target_check.png);
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}
 main .mark_list li.grid{
  margin-bottom: 0;
}
 main .big_txt{
  font-size: 24px;
  font-weight: bold;
}
 main .big18_txt{
  font-size: 18px;
}
 main .big20_txt{
  font-size: 20px;
}
 main .big_txt a{
  color: #e4007f;
  font-weight: bold;
  text-decoration: underline;
}
/***********こんな方におすすめここまで*************/
/***********ページ内ナビ***************/
 main .pages_nav{
  background-color: #f6f6f6;
  padding:20px;
}
 main .pages_nav li{
  background-color: #f6f6f6;
  margin-bottom: 0;
  box-sizing: border-box;
  display: inline-block;
  margin-right: 20px;
}
main .pages_nav.vertical_list{
  background-color: transparent;
}
main .pages_nav.vertical_list li{
  display: block;
  background-color: #fff;
  padding: 5px 0;
}
main .pages_nav li:last-child{
  margin-right: 0px;
}
 main .pages_nav li a{
  padding-left: 18px;
  font-size: 13px;
  box-sizing: border-box;
  position: relative;
}
 main .pages_nav li a:after{
  content:"";
  border-bottom: 1px solid #000;
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: 0;
 }
 main .pages_nav li a:before{
  content: "";
    width: 15px;
    height: 15px;
    border: 2px solid;
    border-color: transparent transparent #000 #000;
    transform: scale(.5) rotate(-45deg);
    position: absolute;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    top: 0px;
    margin-right: 5px;
    transition: .2s;
 }
 main .pages_nav li a:hover:before{
  top: 3px;
 }
 main .pages_nav li a span.small_txt{
  font-size: 13px;
  position: absolute;
  top: -1.4em;
  left: 20px;
}
main .pages_nav li a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main .pages_nav li a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_sp.png) no-repeat center center;
    background-size: contain;
    border-color: transparent;
    position: relative;
    transform: none;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    margin-right:5px;
    top: 4px;
    z-index: 3;
}
main .pages_nav li a.window:after{
  display: none;
}
 main .menu_ttl{
  font-size: 14px;
  font-weight: bold;
  color: #111;
 }

ul.m-linkList {
    background-color: #FFF;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
.m-linkList li {
    margin: 0 1% 1% 0;
    width: 24%;
    text-align: left;
    font-size:1.4rem;
    padding-bottom: 0px;
    padding-top: 0px;
    float: left;
  }
.m-linkList li a {
    font-weight: normal;
    padding:15px 0px;
    display: block;
    border-bottom:1px solid #ccc;
  }
.m-linkList li a:hover {
    border-bottom:1px solid #194375;
  }
.m-linkList .m-linkList_item span{
    display: block;
    line-height: 1.4;
    border-color: #fff #fff transparent transparent;
  }
.m-linkList .m-linkList_item span.ttl{
    font-weight:normal;
    line-height:1.4rem;
    margin-bottom:5px;
  }
.m-linkList .m-linkList_item a span.ttl:before{
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
  }
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list{
  padding: 0 0 20px;
  position: relative;
}
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list:after{
  content: "";
  display: block;
  width: -webkit-calc(100% + 40px);
  width: calc(100% + 40px);
  height: 20px;
  background-color: #f6f6f6;
  position: absolute;
  left: -20px;
  bottom: -20px;
}



/***********ページ内ナビここまで***************/
/************お客様の声*************/

main .slide2 .slick-dots li button:before{
  border-top:16px solid #ccc;
  width: 16px;
}
main .slide2 .slick-dots li.slick-active button:before{
  border-top: 16px solid #2f5582;
}
main .slide2 .textblock .grid{
  background-color: transparent;
  padding: 20px;
}

main .detail_comment1{
  font-size: 14px;
}
main .more_read{
  display: block;
  font-size: 15px;
  margin: 70px auto;
  position: relative;
  text-align: center;
}
main .more_read .open_btn{
  position: relative;
  background-color: #000;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: middle;
  margin-right: 2px;
}
main .more_read .open_btn:before{
  display: block;
    position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(0deg);
}
main .more_read .open_btn:after{
  position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(90deg);
}
main .more_read.open_now2 .open_btn:after{
    transform: translateY(0px) rotate(0deg);
}
main .voice .textblock .gridbox.column2 .grid.sp{
  display: none;
}
/*************お客様の声ここまで****************/
/****************効果***************/
main .bgimage_area{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
main .efficacy .gridbox .grid{
  padding: 5px;
  background-color: transparent;
}
main .bgimg_txt{
  background-image: url(/assets/dah/images/course/base/bg_readcont.png);
  background-size: cover;
  background-position: top center;
}
main .bgimg_txt p{
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 40px 0 35px;
}
main .efficacy .efficacy_cont .grid{
  padding: 10px;
}
main .efficacy .efficacy_cont p{
  font-size: 15px;
  margin-top:20px;
}
/*************効果ここまで**************/
/*************STEPここから*************/
main .opensp_cont{
  display: block!important;
}
main .step .step_full{
  margin-bottom:50px;
}
main figcaption.caption_img.left img{
  margin:10px 5px;
}
main figure.figre_img {
  display: inline-block;
}
main figure.figre_img.image_orign{
  width: 48%;
}
main figure.figre_img.image_comment.sp{
  display: none;
}
main figure.figre_img.image_comment.pc{
  width: 50%;
  margin-left: 0.5%;
  padding-left: 20px;
  position: relative;
  display: inline-block;
}
main figure.figre_img.image_comment.pc:before{
content:" ";
position: absolute;
left: 0;
top: 0;
bottom: 0;
margin: auto;
width: 0;
height: 0;
border-style: solid;
border-width: 20px 25px 20px 0;
border-color: transparent #ffffff transparent transparent;
}
main figure.figre_img.image_comment.pc img{
  padding:25px 20px;
  background-color: #fff;
}
main .step p{
  font-size: 15px;
  margin-top: 20px;
}
main .step .textblock .grid{
  background-color: transparent;
  margin-bottom: 50px;
}
main .step .textblock .grid:nth-child(odd){
  padding-right: 10px;
}
main .step .textblock .grid:nth-child(even){
  padding-left: 10px;
}
/*************STEPここまで*************/
/**************横100画像エリア***************/
main .full_image img{
  width: 100%;
}
main .full_image p.full_image_txt{
  font-size: 36px;
  color: #194375;
  font-weight: bold;
  text-align: center;
  margin:100px 0;
}
/**************横100画像エリアここまで***************/
/**************体験の流れここから**********************/
main .flow .flow_box {
  position: relative;
}
main .flow .flow_box .grid{
  background-color: transparent;
}
main .flow .flow_box .grid p{
  font-size: 15px;
}
main .flow .flow_box .cont_box{
  padding: 20px 20px 50px;
}
main .flow .flow_box .grid p + .page_h5_ttl1{
  margin-top: 30px;
}
main .flow .flow_box .cv_flow{
  background-color: #000;
  padding: 20px 10px 15px;
}
main .flow .flow_box .cv_flow .grid{
  margin-bottom: 0;
  display: block;
}
main .flow .flow_box .cv_flow .grid.sp{
  display: none;
}
main .flow .point{
  color: #e4007f;
}
main .bg_pink{
  background-color: #e4007f;
  color: #fff;
  padding: 3px 6px;
  font-size: 13px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_basecolor_txt{
  background-color: #194375;
  color: #fff;
    padding: 1px 6px 4px 6px;
  font-size: 15px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main a.bg_basecolor_txt{
  color:#fff;
}
main .bg_basecolor_txt.category_name{
  font-size: 13px;
}
main .category_tag.bg_basecolor_txt{
  font-size: 13px;
}
main .bg_basecolor_txt.medium_txt{
  font-size: 15px;
}
main .bg_bk_txt,main a.bg_bk_txt{
  background-color: #111;
  color: #fff;
  padding: 3px 6px;
  font-size: 11px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_bk_txt img{
  width: auto;
  display: inline-block;
  max-height: 1.4em;
  vertical-align: inherit;
  margin-right:3px;
  padding-top:4px;
}
main .flow .textblock .gridbox:not(.cv_flow){
  justify-content: space-between;
}
main .gridbox.column2.left_big .grid:nth-child(1){
  width: 67%;
}
main .gridbox.column2.left_big .grid:nth-child(2){
  width: 32%;
}
main .gridbox.column2.right_big .grid:nth-child(1){
  width: 32%;
}
main .gridbox.column2.right_big .grid:nth-child(2){
  width: 67%;
}
main .gridbox.column2.right_medium .grid:nth-child(1){
  width: 39%;
}
main .gridbox.column2.right_medium .grid:nth-child(2){
  width: 60%;
}
/**************体験の流れここまで**********************/
/**************よくあるご質問ここから******************/
main .faq .faq_box .page_h4_ttl5:before{
  content:url(/assets/dah/images/course/base/icon_q.png);
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}
main .faq .faq_box .a_text{
  background-color: #fff;
  padding: 20px 35px 20px 70px;
  position: relative;
  font-size: 15px;
}
main .faq .faq_box .a_text:before{
  content:url(/assets/dah/images/course/base/icon_a.png);
  display: block;
  position: absolute;
  left: 35px;
  top: 20px;
}
/**********キャンペーン情報ここから*************/
main .campaign_area .gridbox{
  padding: 0 20px;
}
/**********キャンペーン情報ここまで*************/

/**************ページ内バナーここから************************/
main .bnr_area a img.pc{
  display: block;
}
main .bnr_area a,
main .bnr_area .bnr_campaign{
  display: block;
  text-align: center;
  margin:50px auto;
}
main .bnr_area .bnr_pesonalgym{
  width: 90%;
}
main .bnr_area .bnr_campaign a{
  margin:0 auto;
  padding: 0;
  width: 710px;
}
main .bnr_area .bnr_campaign a:nth-child(1){
  height: 170px;
}
main .bnr_area .bnr_campaign a:nth-child(2){
  height: 56px;
}
main .bnr_area.bridal_bnr_area a{
  margin:0;
}
main .bnr_area .bnr_campaign_bridal a:nth-child(1){
  height: 165px;
}
main .bnr_area .bnr_campaign_bridal a:nth-child(2){
  height: 56px;
}
  /**************サロン一覧ここから********************/
  main .list_column{
    padding:50px 20px 10px;
  }
  main .list_column dt{
    margin-bottom: 15px;
  }
  main .list_column dt a{
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
    color: #194375;
  }
  main .list_column dd .prefbtn a{
    font-size: 1.5rem;
    font-weight: normal;
    display: block;
  }
  main a.arrow:before,
  main .list_column dt a:before,
  main .list_column dd .prefbtn a span:before,
  main table.salon_table th a:before,
  main .return_btn a:before,
  main .front_btn a:after{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 2px;
    z-index: 3;
  }
  main .list_column dt a:before{
    width: 16px;
    height: 16px;
    top: 0px;
  }
  main .return_btn a:before{
    transform: scale(.5) rotate(225deg);
  }
  main .front_btn a:after{
    left:auto;
    right: -2px;
  }
  main .list_column dt a:before{
    border-color: #194375 #194375 transparent transparent;
  }
  main .list_column dd{
    margin-bottom: 20px;
  }
  main .list_column dd .prefbtn a.btn_block div.white_btn{
    height: 65px;
    position: relative;
    transition: 0.3s;
    background-color: #fff!important;
    color: #000;
  }

  main .list_column dd .prefbtn a.btn_block div.white_btn{
    border-color: transparent!important;
  }
  main .list_column dd .prefbtn a .white_btn span{
    text-align: left;
    padding-left: 5px;
  }
  /**************サロン一覧ここまで********************/
  /**************サロンオープン情報ここから*****************/

  main div.news h3{
    padding: 20px 0 16px;
    margin:0;
    display: block!important;
  }
  main div.news dl.news_list{
    letter-spacing: 1px;
    display: table;
    width: 100%;
  }
  main div.news dl.news_list dt{
    display: table-cell;
    vertical-align: top;
    text-align: left;
    padding-right: 30px;
    width: 12%;
    padding: 20px 0px 20px 0px;
    border-top: 1px solid #000;
    min-width: 168px;
  }
  main div.news dl.news_list dt span.date{
    width: 68px;
    letter-spacing: 1px;
    font-weight: 400;
    color: #194375;
    text-align: left;
  }
  main div.news dl.news_list dt span.label{
    width: 80px;
    font-size: 1.2rem;
    text-align: center;
    display: inline-block;
    margin-left: 15px;
    padding: 2px 5px;
  }
  main div.news dl.news_list dd{
    display: table-cell;
    vertical-align: top;
    width: 74%;
    padding: 20px 0px 20px 20px;
    border-top: 1px solid #000;
  }
  main div.news dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
  }
  main div.news dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -8px;
    top: 1px;
  }
  /**************サロンオープン情報ここまで*****************/
/**************エリア別サロン一覧ここから*******************/
main .icon_guide{
  display: block;
  padding-top:40px;
  padding-bottom: 12px;
  text-align: right;
}
main .icon_guide ul li{
  display: inline-block;
  font-size: 13px;
  margin-left: 15px;
}
main .icon_guide ul li img{
  width: 25px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
main .pref_box{
  background-color: #fff;
  padding-bottom: 0px;
  margin-left: 10px;
  margin-right: 10px;
}
main .pref_box .cont_box{
  padding-bottom: 50px;
}
main .pref_box + section{
  margin-top: 50px;
}
main table.salon_table{
  width: 95%;
  box-sizing: border-box;
  margin:20px auto;
  border-collapse: separate;
  border-spacing: 2px;
  font-size: 15px;
}
main table.salon_table caption{
text-align: left;
margin:15px 0;
font-weight: bold;
}
main table.salon_table tr.table_top th{
  background-color: #cccccc;
  text-align: center;
  padding: 15px 0;
  line-height: 1.2em;
  white-space: normal;
}
main table.salon_table tr:nth-child(even){
  background-color: #f6f6f6;
}
main table.salon_table tr:nth-child(odd){
  background-color: #f0f3f7;
}
main table.salon_table th,main table.salon_table td{
  vertical-align: middle;
  padding: 15px 10px;
  line-height: 1.5em;
  font-size: 1.3rem;
  white-space: normal;
}
  main table.salon_table th a{
    color: #194375;
    font-weight: bold;
    font-size: 1.5rem;
    padding:1em 0;
    text-indent: -0.9em;
    padding-left: 0.9em;
    display: block;
  }
  main table.salon_table th a:before{
    border-color: #194375 #194375 transparent transparent;
  }
main table.salon_table tr td:nth-child(1){
  width: 180px;
}
main table.salon_table tr td:nth-child(2){
  width: 200px;
}
main table.salon_table tr td:nth-child(3){
  width: 130px;
}
main table.salon_table tr td:nth-child(4){
  width: 130px;
}
main table.salon_table tr td:nth-child(5){
  width: 40px;
}
main table.salon_table tr td br.pc{
  display: block;
}
main table.salon_table td a.pref_tel{
 pointer-events: none;
}
main table.salon_table td span.parking{
  display: block;
  margin-top: 5px;
}
main table.salon_table td .parking_icon,
main table.salon_table td span.parking_txt{
  display: inline-block;
  vertical-align: middle;
}
main table.salon_table td .parking_icon{
  margin-right: 5px;
}
main table.salon_table td .campaign_icon img{
  margin:0 auto;
  display: block;
}
main table.salon_table td .parking_on{
  font-size: 13px;
  line-height: 1.3em;
}
main .g_map{
  height: 480px;
}
/**************エリア別サロン一覧ここまで*******************/
/*************重要なお知らせここから*********************/
main .important_txt{
  display: block;
  border: 2px solid #ff0000;
  background-color: #fff;
  /*margin:30px auto 0px auto;*/
  margin: 30px 20px 0px 20px;
  padding:10px;
  box-sizing: border-box;
}
main .important_txt a{
  text-decoration: underline;
}
main .important_txt h3{
  display: inline-block;
  background-image: url(/assets/dah/images/salon/icon_important.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
  font-weight: bold;
  /*font-size: 15px;
  width: 155px;*/
  font-size: 18px;
  vertical-align: top;
  margin: 0;
  color: red;
}
main .important_txt p{
  display: inline-block;
  /*width: 550px;
  font-size: 15px;*/
  font-size: 17px;
  margin-bottom: 0;
}
main .important_txt p.red,
main .important_txt p.red a,
main .important_txt p.red a:link{
  color: red;
  font-weight: bold;
}
main .important_txt p .label{
  font-size: 1.6rem;
}
main.top .important_txt p .label.open{
  background: #1a4476;
}
main.top .important_txt p .label.closed{
  background: #d52222;
}
/*************重要なお知らせここまで*********************/
/**************サロン個別ページスライダーパーツ*****************/
main .slide_box{
  display: block;
  width: 100%;
  max-width: 480px;
  margin:0 auto;
  box-sizing: border-box;
}
main .slide_box .thumbnails{
  margin-top:30px;
  text-align: center;
}
main .slide_box .thumbnails li{
  width: 80px;
  height: auto;
  display: inline-block;
  margin: 0 4px;
}
main .slide_box .thumbnails li img{
  width: 80px;
  height: auto;
  display: block;
  margin:0 auto;
}
main .slide_box .thumbnails .slick-current img{
  border: 4px solid #244c7c;
}
main .slide_box .thumbnails li{
  position:relative;
}
main .slide_box iframe{
  height:250px;
}
/**************サロン個別ページスライダーパーツ*****************/
/**************個別店舗情報ここから****************/
main .fivestar{
  margin-left: 0px;
  margin-top: 0px;
}
main dl.detail_info{
  width: 95%;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
}
main dl.detail_info dt,
main dl.detail_info dd{
  padding: 10px 15px;
  border-bottom: 1px solid #f6f6f6;
}
main dl.detail_info dt{
  background-color: #ccc;
  width: 30%;
}
main dl.detail_info dd{
  width: 70%;
}
main dl.detail_info dd a{
  text-decoration: none;
}

main .front_btn{
  text-align:right;
}

main .return_btn a{
  font-size: 15px;
  margin-left: 10px;
}
main .front_btn a{
  font-size: 15px;
  margin-right: 10px;
}

/**************個別店舗情報ここまで****************/

  /**************ニュースリリース一覧情報ここから*****************/
  main div.news_block{
    margin-top:0px;
    padding: 20px
  }
  main div.news_block h3{
    padding: 20px 0 16px;
    margin:0;
    display: block!important;
  }
  main div.news_block dl.news_list{
    letter-spacing: 1px;
    display: table;
    width: 100%;
    background-color: #f6f6f6;
    padding:0 20px;
    margin-bottom: 2px;
  }
  main div.news_block dl.news_list dt{
    display: table-cell;
    vertical-align: top;
    text-align: left;
    padding-right: 30px;
    width: 14%;
    padding: 20px 0px 20px 0px;
    min-width: 168px;
  }
  main div.news_block dl.news_list dt span.date{
    width: 68px;
    letter-spacing: 1px;
    font-weight: 400;
    color: #194375;
    text-align: left;
  }
  main div.news_block dl.news_list dt span.label{
    width: 100px;
    font-size: 1.2rem;
    text-align: center;
    display: inline-block;
    margin-left: 15px;
    padding: 2px 5px;
  }
  main div.news_block dl.news_list dd{
    display: table-cell;
    vertical-align: top;
    width: 50%;
    padding: 20px 0px 20px 20px;
  }
  main div.news_block dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
  }
  main div.news_block dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -8px;
    top: 1px;
  }
  /**************ニュースリリース一覧情報ここから*****************/
  /**************ニュースリリース詳細情報ここから*****************/
  main div.news_contents{
    margin-top:0px;
    padding: 40px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  main div.news_contents a{
    text-decoration: underline;
  }
  main div.news_contents .center_img{
    padding: 0;
  }
  main div.news_contents .center_img img{
    display: block;
    margin: 0 auto;
    width: auto;
    /* max-width: 400px; */
  }
  /**************ニュースリリース詳細情報ここまで*****************/

  /**************はじめての方へインデックスここから*****************/
  .index_back_image{
    background-color:#fff;
    box-shadow:0px 0px 18px rgba(0,0,0,0.18);
    margin-bottom:20px;
    margin-right:20px;
  }
  .index_back_image:nth-of-type(even){
    margin-right:0px;
  }
  .index_back_image h3{
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .index_back_image a{
    padding: 44px 15px;
    display: block;
  }
  /**************はじめての方へインデックスここまで*****************/
  /* sns */
  main section#sns{
      background-color: #f6f6f6;
  }
  main section#sns .inner{
    max-width:100%;
    padding:5% 10px 4% 10px;
  }

    main section#sns .fan{
       display: flex;
       max-width: 920px;
       margin:20px 0px 5px;
    }
    main section#sns div.left,
    main section#sns div.right{
        width: 50%;
        display: inline-block;
        vertical-align: top;
    }
    main section#sns div.left{
        margin-right:9px;
    }
    main section#sns div.right{
        margin-left:9px;
        text-align: right;
    }
    main section#sns div.left div.box,
    main section#sns div.right div.box{
        text-align: left;
    }
    main section#sns div.right span{
      width: 100%;
    }
    main section#sns div.left figure,
    main section#sns div.right iframe{
        box-shadow: 0px 0px 15px rgba(0,0,0,.1);
        max-width: 450px;
    }
    main section#sns div.left p.ttl,
    main section#sns div.right p.ttl{
        font-size:1.8rem;
        font-weight: 400;
        margin-bottom: 0.5em;
    }
    main section#sns div.left p.ttl:before{
        content:url(/assets/dah/images/footer/icon_web.png);
        margin-right:10px;
    }
    main section#sns div.right p.ttl:before{
        content:url(/assets/dah/images/footer/icon_facebook.png);
        margin-right:10px;
    }
    main section#sns div.right .fb-page.fb_iframe_widget iframe{
        height:228px!important;
        width: 100%!important;
    }


  main section#sns .inner .textblock .gridbox.column2 .grid,
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid{
    background-color: transparent;
    margin-right: 4%;
    margin-bottom: 2%;
    width: 48%;
    text-align: right;
  }
  main section#sns .inner .textblock .gridbox.column2 .grid:nth-of-type(2n),
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid:nth-of-type(2n){
    margin-right: 0%;
    text-align: left;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid,
   main .pages_2column .p_2c_main #sns .gridbox.column3 .grid{
    background-color: transparent;
    width: 31.5%;
    margin-right: 2%;
    text-align: right;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid:nth-of-type(2n),
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid :nth-of-type(2n){
    text-align: center;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid:nth-of-type(3n),
  main .pages_2column .p_2c_main #sns .gridbox.column3 .grid:nth-of-type(3n){
    margin-right: 0%;
    text-align: left;
  }

  main section#sns .inner .textblock .gridbox.column2 .grid a.btn_block,
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid a.btn_block{
    max-width: 190px;
    min-width: 190px;
    height:44px;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
  }
  main section#sns .inner .textblock .gridbox.column3 .grid a.btn_block{
    max-width: 190px;
    min-width: 190px;
    height:44px;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
  }
  main section#sns .inner .textblock .gridbox .grid a.btn_block div span,
  main .pages_2column .p_2c_main #sns .gridbox .grid a.btn_block div span{
    top: 46%;
  }
  main section#sns .inner .textblock .gridbox .grid div.webbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.facebookbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.twitterbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.linebtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.instagrambtn a.btn_block span:before{
    content:"";
    background:url(/assets/dah/images/footer/icon_web_sp.png);
    background-size:cover;
    width:20px;
    height:20px;
    display:inline-block;
    position: relative;
    top: 5px;
    left: -5px;
  }
  main section#sns .inner .textblock .gridbox .grid div.webbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/icon_web_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.facebookbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/icon_facebook_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.twitterbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_twitter_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.linebtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_line_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.instagrambtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_insta_sp.png);
    background-size:cover;
  }

/*****************個別パーツ用ここまで***********************/





/*********        コンテンツマーケ用　　　************/
/**********画像リンクここから**********/
main .image_link_grid ul{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  height: 250px;
  display: -ms-grid;
  -ms-grid-rows: 250px 250px;
  -ms-grid-columns: 2fr 1fr 1fr;
}
main .image_link_grid ul li{
  display: block;
  position: relative;
  border: 1px solid #fff;
}
main .image_link_grid ul li a .image_link_box{
  width: 100%;
  display: block;
  height: 100%;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
main .image_link_grid ul li:nth-child(1){
  grid-row: 1 / 3;
  grid-column: 1 / 2;
  -ms-grid-column:  1;
  -ms-grid-column-span: 1;
  -ms-grid-row: 1;
   -ms-grid-row-span: 2;
}
main .image_link_grid ul li:nth-child(2){
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(3){
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(4){
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  -ms-grid-row:2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
}
main .image_link_grid ul li:nth-child(5){
  grid-row: 2 / 3;
  grid-column: 3 / 4;
  -ms-grid-row:2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
}

main .image_link_grid ul li a.category_tag{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15;
}
main .image_link_grid ul li p.image_link_ttl{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px;
  font-weight: bold;
  font-size: 13px;
  z-index: 15;
  line-height: 1.3em;
  background: linear-gradient(0deg,rgba(255,255,255,.8),rgba(255,255,255,0));
  text-shadow: 0 0 5px #ffffff;
}
main .image_link_grid ul li:nth-child(1) p.image_link_ttl{
  padding: 20px 10px 10px 10px;
}

/**********画像リンクここまで**********/
/********リンク用１ここから************/
main .category_name{
  text-align: left;
  margin-bottom: 3px;
}
main a.category_name:hover{
  color: #fff;
  opacity: 0.6;
}
main .linkbox_grid a:last-child{
  display: block;
}
main .linkbox_grid.grid{
  position: relative;
}
main .linkbox_grid.grid .new{
  position: absolute;
  left: 0;
  top:10px;
  font-size: 18px;
}
/********リンク用１ここまで************/
/********ページネーションここから*********/
main ul.pager,
.wp-pagenavi{
  width: 380px;
  margin:20px auto;
  display: flex;
  justify-content: center;
}
main ul.pager li + li,
.wp-pagenavi > *:not(:first-child){
  margin-left: 10px;
}
main ul.pager li.now,
.wp-pagenavi .current{
  background-color: #ccc;
  color: #808080;
  border:1px solid #ccc;
  padding: 5px 0;
}
main ul.pager li a,
.wp-pagenavi span,
.wp-pagenavi > a{
  display: block;
  background-color: #fff;
  color: #111;
  border:1px solid #111;
  width: 100%;
  height: 100%;
  padding: 5px 0;
  transition: 0.2s;
}
main ul.pager li,
.wp-pagenavi span,
.wp-pagenavi a{
  width: 45px;
  height: 45px;
  font-size: 18px;
  text-align: center;
}
main ul.pager li a:hover,
.wp-pagenavi a:hover{
  background-color: #111;
  color: #fff;
}

/********ページネーションここまで*********/
/********サイド用リンクパーツここから*****/
main .side_linkbox a{
  margin-bottom: 10px;
  display: block;
}
main .side_linkbox .gridbox{
  align-items: flex-start;
}
main .side_linkbox .grid img{
  margin-right: 5px;
}
main .side_linkbox .gridbox.column2.right_big .grid:nth-child(odd){
  padding-right: 0;
  width: 25%
}
main .side_linkbox .gridbox.column2.right_big .grid:nth-child(even){
  padding-left: 2%;
  width: 73%;
}
/********サイド用リンクパーツここまで*****/
/*********2カラム（サイドバー）ここから********/
main .pages_2column{
  display: flex;
  align-items: top;
  justify-content: space-between;
}
main .pages_2column .p_2c_main{
  width: 75%;
}
main .pages_2column .p_2c_main .post_content p{
  font-size: 15px;
}
main .pages_2column .p_2c_main .textblock.pages_content a{
  color: #194375;
  text-decoration: underline;
}
main .pages_2column .p_2c_side{
  width: 23%;
  margin-right: 1%;
}
main .pages_2column .p_2c_side iframe{
  max-width: 100%;
}

main .pages_2column .space_sp{
  padding-left: 10px;
  padding-right: 10px;
}

/****一覧リンク(サイド用)ここから*****/

main ul.link_bggray li,
main .textblock ul.link_bggray li.grid{
  background-color: #f6f6f6;
  display: block;
  width: 100%;
  padding: 8px 12px;
  margin-bottom:12px;
}
main ul.link_bggray li a{
  display: block;
}
main ul.link_bggray li a:hover{
  opacity: 0.6;
}
main a.link_right{
  display: block;
  width: 100%;
  text-align: right;
  padding-right: 10px;
}
main ul.link_bggray.inline_list li{
  width: auto;
  display: inline-block;
  margin-right: 12px;
}
main ul.link_bggray.inline_list a{
  display: inline-block;
}
/****一覧リンク(サイド用)ここまで*****/
/*****一覧ページタイトルここから******/
main .mainttl_area{
  padding: 0 10px;
}
main h1.nomal_big{
  font-size: 36px;
}
main h1.nomal_big.line_height_14{
  line-height: 1.4;
}
main .mainttl_area h1.nomal_big .big20_txt{
  line-height: 1em;
}
main .mainttl_area .date{
  margin-right: 10px;
}
main .mainttl_area .date,
main .mainttl_area .category_name{
  display: inline-block;
}
main .mainttl_area .graybk{
  display: block;
}
/*****一覧ページタイトルここまで******/
/********パンくずここから**********/
main .pankuzu.pankuzu_top{
  background-color: transparent;
  margin-bottom: 5px;
}
/********パンくずここまで**********/
/***一覧リンク(メイン用)ここから****/
main .border_link{
  border: 1px solid #111;
  padding-left: 15px;
  background-color: #fff;
  width: 100%;
}
main .border_link a{
  display: block;
  width: 100%;
  padding: 20px 15px 20px 1.1em;
}
/***一覧リンク(メイン用)ここまで****/
/*****シェアボタンここから***********/
main .bg_bk_txt.fbshare{
  background-image: url(/assets/dah/images/article/icon_fb2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.fb_good{
  background-image: url(/assets/dah/images/article/icon_good.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_tw{
  background-image: url(/assets/dah/images/article/icon_tw2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_hateb{
  background-image: url(/assets/dah/images/article/icon_bookmark.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main section#sns.share_sns .textblock .grid a.btn_block{
  width: 100%;
}
main section#sns .share_btn_bottom{
  text-align: right;
}
main section#sns .share_btn_bottom div,
main .share_btn_top div.fb_iframe_widget_fluid{
  vertical-align: super;
  display: inline-block;
}

/*****シェアボタンここまで***********/
main .share_btn_top iframe,
main .share_btn_bottom iframe{
      margin:0;
      display: inline-block;
    }
main .share_btn_top div.fb_iframe_widget,
main .share_btn_top > iframe{
	vertical-align: bottom;
}


}


/*
 * ==============================================
 * ■画面の横幅が480pxまで (SP)
 * ==============================================
 */
@media screen and (max-width:480px){


    /* title */
    main .ttlblock{
        text-align:center;
    }
    main .ttlblock h2{
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 300;
    }
    main .ttlblock .ttlsub{
        font-size: 1.4rem;
        color:#164072;
        margin-bottom: 25px;
    }
    main .ttlblock .text{
        font-size: 1.4rem;
        text-align:left;
        font-weight: bold;
        margin-bottom: 20px;
    }

   /* space */
   main .space10{
      height: 5px;
      display: block;
    }
    main .space20{
      height: 10px;
      display: block;
    }
    main .space40{
      height: 20px;
      display: block;
    }
    main .space60{
      height: 30px;
      display: block;
    }
    main .space80{
      height: 40px;
      display: block;
    }
    main .space10.pc,main .space20.pc,main .space40.pc,main .space60.pc,main .space80.pc,
    main .space10.tab,main .space20.tab,main .space40.tab,main .space60.tab,main .space80.tab{
      display: none;
    }
    main .space10.tab.sp,main .space20.tab.sp,main .space40.tab.sp,main .space60.tab.sp,main .space80.tab.sp{
      display: block;
    }
    main .margin20{
      margin-top: 10px;
      margin-bottom: 10px;
      display: block;
    }
    main .margin40{
      margin-top: 20px;
      margin-bottom: 20px;
      display: block;
    }
    main .margin60{
      margin-top: 30px;
      margin-bottom: 30px;
      display: block;
    }
    main .margin80{
      margin-top: 40px;
      margin-bottom: 40px;
      display: block;
    }
    main .margin20.pc,main .margin40.pc,main .margin60.pc,main .margin80.pc,
    main .margin20.tab,main .margin40.tab,main .margin60.tab,main .margin80.tab{
      display: none;
    }
    main .margin20.tab.sp,main .margin40.tab.sp,main .margin60.tab.sp,main .margin80.tab.sp{
      display: block;
    }
    main .padding20{
      padding:20px;
    }
    main .padding40{
      padding:20px;
    }

    /* iframe */
    main iframe{
      width:100%;
    }

    /* tag */
    main span.tag{
       z-index: 2;
       font-size: 1.1rem;
       padding: 2px 5px;
       color:#fff;
       background-color: #194375;
    }
    main span.label{
       z-index: 2;
       font-size: 1.1rem;
       padding: 2px 5px;
       color:#fff;
       background-color: #194375;
    }

    main .textblock .gridbox,main .textblock .sp_open_column2 {
        display: flex;
        flex-wrap: wrap;
        position: relative;
    }
    main .textblock .grid{
        position: relative;
        transition: .6s;
       -webkit-transition: .6s ease;
        background-color: #fff;
        overflow:visible;
        margin-right: 0%;
        vertical-align: top;
        display: inline-block;
    }
    main .textblock .bg_clear .grid,
    main .textblock .bg_clear_sp .grid{
      background-color: transparent;
    }
    main .textblock .gridbox.column2 .grid{
        width: 100%;
    }
    main .textblock .gridbox.column2.spcolumn2 .grid{
        width: 50%;
    }
    main .textblock .gridbox.column2 .grid img{
        width: 100%;
    }
    main .textblock .sp_open_column2{
      margin-bottom: 20px;
    }
    main .textblock .sp_open_column2 .grid_sp{
        width: 49%;
    }
    main .textblock .sp_open_column2 .grid_sp img{
        width: 100%;
    }
    main .textblock .sp_open_column2 .grid_sp a{
      text-align: right;
      font-size: 14px;
      display: block;
    }
    main .textblock .sp_open_column2 .grid_sp + .grid_sp{
      margin-left: 1%;
      margin-right: 1%;
    }
    main .textblock .gridbox.column3 .grid{
        width: 100%;
    }
    main .textblock .gridbox.column4 .grid{
        width: 100%;
    }
    main .textblock .gridbox.column4.spcolumn2 .grid,
    main .textblock .gridbox.column3.spcolumn2 .grid{
        width: 49%;
    }
    main .textblock .gridbox.column4.spcolumn2 .grid:nth-child(even),
    main .textblock .gridbox.column3.spcolumn2 .grid:nth-child(even){
      margin-left: 2%;
    }
    main .textblock .gridbox.column5 .grid{
        width: 100%;
    }
    main .textblock .gridbox.column6 .grid{
        width: 32.6%;
        margin-right: 1%;
        margin-bottom: 1%;
    }
    main .textblock .gridbox.column6.sp_column1 .grid{
        width: 100%;
        margin-bottom:10px;
    }
    main .textblock .gridbox.column6 .grid:last-child,
    main .textblock .gridbox.column6 .grid:nth-child(3){
        margin-right: 0%;
    }

    main .textblock .gridbox.column7 .grid{
        width: 49%;
        margin-bottom: 10px;
    }
    main .textblock .gridbox.column7 .grid:nth-child(even){
        margin-right: 0%;
        margin-left: 2%;
    }
    main .textblock .grid .linkblock{
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      display: block;
    }
    .article .textblock .gridbox.column3 .grid img {
        height: 120px;
        width: 100%;
        object-fit: cover;
    }
    .article .slick-list.draggable {
        height: 250px!important;
    }
    .article .slick-list.draggable img {
        width: 100%;
        height: 250px;
        object-fit: cover;
    }


    /* local navi */
    main .localnav{
      display: block;
    }
    main .localnav .localnav_contents{
      width:100%;
      display: block;
    }
    main .localnav .localnav_nav{
      width:100%;
      display: block;
      padding:20px;
    }
    main .localnav .localnav_nav .localnav_list{
      display: block;
    }
    main .localnav .localnav_nav .localnav_list li{
      width:48%;
      display: inline-block;
      background-color:#fff;
      margin:0 2px 0;
      line-height: 1;
    }
    main .localnav .localnav_nav .localnav_list li a{
      width:100%;
      padding:0;
      margin: 0;
    }
    main .localnav .localnav_nav .localnav_list li a div{
      width:100%;
      display: block;
      color: #000!important;
      background-color: #fff!important;
      font-size: 1.5rem;
      padding:29px 0px;
      border:0!important;
      line-height: 1.4;
    }
    main .localnav .localnav_nav .localnav_list li a.active div{
      color: #fff!important;
      background-color: #000!important;
    }
    main .localnav .localnav_nav .localnav_list li a div span{
      text-align: left;
      padding:0px 20px;
      font-size: 1.4rem;
    }
    main .localnav .localnav_nav .localnav_list li a div span:before{
      content: "";
      width: 14px;
      height: 14px;
      border: 2px solid;
      border-color: #000 #000 transparent transparent;
      transform: scale(.5) rotate(45deg);
      position: relative;
      display: inline-block;
      overflow: hidden;
      left: -8px;
      top: 2px;
    }
    main .localnav .localnav_nav .localnav_list li a.active div span:before{
      border-color: #fff #fff transparent transparent;
    }


    /* table */
    main table{
      width: 100%;
      box-sizing: border-box;
      margin:20px auto;
      border-collapse: separate;
      border-spacing: 2px;
    }
    main table caption{
      text-align: left;
      margin:15px 0;
    }
    main table tr.table_top th{
      background-color: #cccccc;
      text-align: center;
      padding: 15px 0;
      line-height: 1.2em;
    }
    main table tr:nth-child(even){
      background-color: #f6f6f6;
    }
    main table tr:nth-child(odd){
      background-color: #f0f3f7;
    }
    main table th,
    main table td{
      vertical-align: middle;
      padding: 15px 10px;
      line-height: 1.5em;
      min-width: 80px;
    }
    main table th{
      white-space: nowrap;
      font-weight: bold;
    }


    main section{
        clear: both;
    }

   main div.morebtn{
     margin-top:15px;
     display: block;
     text-align: center;

   }
   main div.morebtn a.btn_block{
     width: 100%;
     height: 64px;
     font-size: 1.8rem;
     font-weight: normal;
     box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
   }
   main div.morebtn a.btn_block div span:before{
     content: "";
     width: 18px;
     height: 18px;
     border: 3px solid;
     border-color: #fff #fff transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: relative;
     display: inline-block;
     overflow: hidden;
     left: -7px;
     top:4px;
   }
/***************個別パーツ用ここから*******************/
main .pages_content,main .pages_content.wide_area,main .pages_content.full_area{
  width: 100%;
}
main .leftblock550.pages_content{
  width: 100%;
}
main .leftblock700.pages_content{
  width: 100%;
}
main span.sp_br{
  display: block;
  font-weight: inherit;
}
main span.pc_br,main span.tab_br{
  font-weight: inherit;
}
.full_img img{
  width: 100%;
}
.space_sp{
  padding-left:20px;
  padding-right: 20px;
  box-sizing: border-box;
  display: block;
  max-width: 100%;
}
main .lefticon_box{
  width: 100%;
  padding: 20px 35px 20px 40px;
  position: relative;
  font-size: 20px;
}
main .lefticon_box .left_icon{
  position: absolute;
  left: 20px;
  top:15px;
}

main .qa h3.border.left {
  padding: 20px 0px 20px 40px;
}
main .qa .lefticon_box{
  width: 100%;
  padding: 20px 0px 20px 40px;
  position: relative;
  font-size: 26px;
}
main .qa h3 .left_icon{
  position: absolute;
  left: 10px;
  top:12px;
  font-size: 2.4rem;
}
main .qa .lefticon_box .left_icon{
  position: absolute;
  left: 10px;
  top:14px;
  font-size: 2.5rem;
}

/* 3カラム　ブロック一覧　ここから*/
main .textblock .gridbox.blocklist .grid{
  width:100%;
  margin-right:2%;
  margin-bottom:2%;
  padding-bottom:20px;
  position: relative;
}

main .textblock .gridbox.blocklist .grid span{
  font-size: 1.3rem;
  line-height: 1.4;
}
main .textblock .gridbox.blocklist .grid h3{
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid ul.mark_list li{
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0px;
}
main .textblock .gridbox.blocklist .grid a.btn_block{
    height: 50px;
}
main .textblock .gridbox.blocklist .grid .heightfix{
}
main .textblock .gridbox.blocklist .grid .tagblock{
  display: block;
}
main .textblock .gridbox.blocklist .grid .tagblock p{
  display: inline-block;
  margin-bottom:5px;
  line-height: 1.4;
}
main .textblock .gridbox.blocklist .grid .special_txt{
  line-height: 1.2;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .special_txt .small{
  font-size: 1.6rem;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .special_txt .big{
  font-size: 4.8rem;
  font-weight: bold;
}
main .textblock .gridbox.blocklist .grid .morebtn{
    position: relative;
    width: 100%;
    margin-top: 0;
}
main .textblock .gridbox.blocklist .grid .mark_list{
  margin:0;
  margin: 0 0 0 1em;
}
/* 3カラム　ブロック一覧　ここまで*/
/* 3カラム　テキストリンク　ここから*/
main .textblock .gridbox .grid p.lead {
    text-align: left;
    color: #000;
    font-weight: bold;
    font-size: 1.4rem;
    display: block;
    margin-top: 9px;
    margin-bottom: 0;
}
main .textblock .gridbox .grid .menu span.ttl {
    font-size: 1.4rem;
}
main .textblock .gridbox .grid .menu figure{
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
}
main .textblock .gridbox .grid a span.ttl:before {
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
}
/* 3カラム　テキストリンク　ここまで*/
main .border_cont .grid{
  padding: 15px;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
main .border_cont .grid .bc_ttl{
  border-right: 1px solid #194375;
  color: #194375;
  font-size: 16px;
  padding-right: 25px;
}
main .border_cont .grid .bc_ttl span{
  font-size: 30px;
}
main .border_cont .grid .bc_txt{
  display: block;
  font-size: 15px;
  padding-left: 25px;
  font-weight: bold;
}

main .border_cont.sp_same .grid{
  display: block;
}
main .border_cont.sp_same .grid .bc_ttl{
  border-bottom: 1px solid #194375;
  border-right: none;
  padding-right: 0;
}
main .border_cont.sp_same .grid .bc_txt{
  padding:5px 0;
}

main .number_cont.normal .nc_ttl{
  font-weight: bold;
  font-size: 15px;
  display: block;
  width: 82%;
  padding-right: 20px;
  vertical-align: middle;
}
main .number_cont.normal .nc_number{
  font-size: 32px;
  display: block;
  color: #194375;
  width: 17%;
  padding-left: 10px;
  vertical-align: middle;
}
main .number_cont.normal .nc_number:after{
      content: "";
    height: 30px;
    width: 1px;
    background-color: #194375;
    margin-left: 15px;
    position: relative;
    display: inline-block;
    top: 2px;
}
main .number_cont.normal .grid{
  padding:5px;
  display: flex;
  align-items: center;
}

main .number_cont .grid{
  display: flex;
  align-items: center;
  margin-bottom: 10px;

}
main .number_cont .nc_ttl{
  font-weight: bold;
  font-size: 15px;
  display: block;
  width: 50%;
  padding-right: 20px;
  vertical-align: middle;
}
main .number_cont .nc_number{
  font-size: 32px;
  display: block;
  color: #194375;
  width: 20%;
  padding-left: 20px;
  vertical-align: middle;
}
main .number_cont .grid img{
  width: 30%;
}
main .number_cont2 .grid{
  margin-bottom: 10px;
}
main .number_cont2 img.sp{
  display: block;
  float: left;
  width: 40%;
}
main .number_cont2 .nc2_ttl{
  font-size: 16px;
  font-weight: bold;
  padding: 0 10px;
  display:block;
  width: 58%;
  float: left;
}
main .number_cont2 .nc2_number{
  font-size: 15px;
  font-weight: bold;
  color: #194375;
  padding: 10px 10px 0;
  width: 58%;
  display: block;
  float: left;
}
main .number_cont2 .nc2_number span{
  font-size: 24px;
}
main .number_cont2 .nc2_txt{
  padding: 10px;
  clear: both;
  display: block;
}
main .icon_box .grid{
  padding: 10px 5px;
  box-sizing: border-box;

}
main .icon_box .grid img{
  width:19%;
  display: inline-block;
  margin-right: 3%;
  margin-left: 3%;
  vertical-align: middle;
}
main .icon_box .grid p{
  display: inline-block;
  width: 72%;
  vertical-align: middle;
}

main .dual_table1,main .dual_table2{
  display:table;
  box-sizing: border-box;
  background-color: transparent;
  color: #194375;
  border-collapse: collapse;
  width: 100%;
  position: relative;
}
main .dual_tablebox table th,
main .dual_tablebox table td{
  font-size: 15px;
  vertical-align: middle;
  position: relative;
  padding: 15px 5px;
}
main .dual_tablebox table.dual_table1 th,
main .dual_tablebox table.dual_table1 td{
  font-weight: bold;
}
main .dual_tablebox table.dual_table1 td,
main .dual_tablebox table.dual_table2 td{
  padding-left: 70px;
}
main .dual_tablebox table th img,
main .dual_tablebox table td img{
  display: block;
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
main .dual_table1 tr,main .dual_table2 tr{
  border-bottom: 1px solid #194375;
  margin-right: 20px;
  margin-left: 20px;
  display: block;
}
main .dual_table1 tr:first-child,main .dual_table2 tr:first-child{
  border-bottom: none;
  }
main .dual_table1 tr:first-child th,main .dual_table2 tr:first-child th{
  text-align: center;
  font-size: 20px;
  font-weight: normal;
}
main .dual_table1 tr:first-child th span.big_tttl,
main .dual_table2 tr:first-child th span.big_tttl{
  display: block;
  font-size: 16px;
}
main .dual_table1{
  padding-bottom: 20px;
  background-color:#ffe400;
  z-index: 10;
}

main .dual_table1 .dual_left,
main .dual_table2 .dual_left{
  width: 38%;
  border-right: 1px solid  #194375;
}
main .dual_table1 .dual_right,
main .dual_table2 .dual_right{
  padding: 15px 0 15px 20px;
  width: 62%;
}
main .dual_table1 .dual_right span.bg_yellow{
  font-weight: bold;
}
.dual_1{
  position: relative;
}
/**main .dual_table1:after**/
.table_bgcolor{
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: -20px;
  left: 0;
  background-color:#ffe400;
  z-index: 1;
}

main .dual_tablebox table tr:nth-child(even),
main .dual_tablebox table tr:nth-child(odd){
  background-color: transparent;
}
main .dual_table1 tr:first-child,
main .dual_table2 tr:first-child{
  min-height: 90px;
  display: block;
}
main .dual_table1 tr:first-child th.dual_left,
main .dual_table2 tr:first-child th.dual_left,
main .dual_table1 tr:first-child,
main .dual_table2 tr:first-child,
main .dual_table1 tr:first-child th.dual_right,
main .dual_table2 tr:first-child th.dual_right{
  border-color: transparent;
}
main .dual_table1 tr:first-child th.dual_right,
main .dual_table2 tr:first-child th.dual_right{
  position: absolute;
  width: auto;
  top: 0;
  left: 0;
  left: 20px;
  right: 20px;
  display: block;
  border-bottom: 1px solid #194375;
}


/***********色・サイズ系*******************/
main .pages_bg_gray{
  background-color: #f6f6f6;
  padding: 10px 0;
}
main .small_txt{
  font-size: 12px;
}
main figcaption.caption_img img.sp{
  display: block;
  margin:10px auto;
  display: block;
}
main.page_content_bg{
  background-color: #f6f6f6;
}
 main .big_txt{
  font-size: 18px;
  font-weight: bold;
}
main .textblock .big_sp_txt{
  font-size: 24px;
}
 main .big18_txt{
  font-size: 16px;
}
 main .big20_txt{
  font-size: 18px;
}
 main .over_txt{
  font-size: 20px;
  font-weight: bold;
}
main .medium_txt{
  font-size: 15px;
}
main .pink_txt{
  color: #e4007f;
}
main .basecolor_txt{
  color: #194375;
}
main .white_txt{
  color: #fff;
}
main a.pink_txt:link{
  text-decoration: underline;
  color: #e4007f;
}
main .bold{
  font-weight: bold;
}
main .lighter{
  font-weight: lighter;
}
main .under_line{
  text-decoration: underline;
}
main .center_txt{
  text-align: center;
}
main .center_txt.sp_lefttxt{
  text-align: left;
}
main a.pink_txt:hover{
  color: #f32598;
}
main a.arrow{
    text-indent: -1.1em;
    padding-left: 1.1em;
    display: inline-block;
    line-height: 1.4;
}
main a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_sp.png) no-repeat center center;
    background-size: contain;
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    margin-right: 5px;
    top: 4px;
    z-index: 3;
}
main a.underline{
  text-decoration: underline;
}
main .wide_link a{
  width: 100%;
  display: block;
  padding:20px 45px 20px 25px;
  position: relative;
}
main .wide_link a:nth-child(even){
    background-color: #f6f6f6;
}
main .wide_link a:nth-child(odd){
    background-color: #f0f3f7;
}
main .wide_link a:before{
     content: "";
     width: 16px;
     height: 16px;
     border: 2px solid;
     border-color: #000 #000 transparent transparent;
     transform: scale(.5) rotate(45deg);
     position: absolute;
     display: inline-block;
     overflow: hidden;
     right: 20px;
     top:calc(50% - 8px);
}
ul.icon_list li{
  list-style: none;
  padding-left: 1em;
  position: relative;
}
ul.icon_list li:first-letter{
  margin-left: -1em;
}
ul.icon_list.sq_list li:first-letter{
  margin-left: 0;
}
ul.icon_list.inline_list li{
  display: inline-block;
  margin-right: 1em;
}
ul.icon_list.half li{
  padding-left: 0.5em;
}
ul.icon_list.half li:first-letter{
  margin-left: -0.5em;
}
ul.icon_list li .square:before{
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: 0em;
  width: 8px;
  height: 8px;
  background-color: #194375;
}
.center_img{
  display: block;
  width: 100%;
  padding: 0;
}
.center_img img.sp{
  display: block;
  margin:0 auto;
}
.left_img{
  display: flex;
}
.left_img figure{
  display: block;
  width: 50%;
  text-align: center;
  padding:0 10px;
}
.left_img img.sp{
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: bottom;
  padding:0 20px;
}
main p.right_txt{
  text-align: right;
  font-size: 12px;
}
/***********色・サイズ系****************/
/*********ページタイトル**************/
 main .bg_right{
 background-position: right top;
 background-size: cover;
 background-repeat: no-repeat;
 padding-top: 20px;
 padding-bottom: 160px;
 background-color: #fff;
}
main .bg_right.recommend_area{
  padding-bottom: 0;
}
main .border_top_gray {
  border-top:1px solid #f6f6f6;
}
main .border_blue {
   border:1px solid #194375;
}
main h1.bg_none {
   margin: 0 auto;
   display: block;
   padding:20px 0px 24px;
   background:#fff;
   font-size: 2.2rem;
   line-height: 1.4;
}
main h1.bg_none span.lead{
   font-size: 1.4rem;
   display: block;
   font-weight: bold;
   line-height: 1.4;
   margin-bottom:4px;
}
main h1.bg_none span.date{
   font-size: 1.2rem;
   display: block;
   font-weight: normal;
   margin-top:4px;
}
main .bnr_campaign,
main .bnr_campaign_bridal{
  margin:20px 0 40px 0;
}
 main .textblock.pages_content{
  max-width: 100%;
  box-sizing: border-box;
  margin:0 auto;
  display: block;
}
main .pages_ttl2{
padding:20px;
background-size: auto 100%;
background-position: right top;
background-repeat: no-repeat;
}
 main .pages_ttl2 h2{
  font-size: 28px;
  font-weight: bold;
 }
main .pages_ttl3{
padding:20px 10px;
background-color: #fff;
}
main .pages_ttl3 h2{
  font-size: 22px;
  font-weight: bold;
}
main .pages_ttl3 h2 span{
  font-size: 15px;
  display: block;
  font-weight: bold;
}
/********ページタイトルここまで******************/
/**********CVエリアここから**********/
main .app_area,
main .cv_top{
  background-color: #e5e5e5;
  padding-top: 20px;
  display: block;
  position: relative;
  padding-bottom: 5px;
}
 main .cv_top img.bigchance,
 main .app_area img.bigchance{
  padding:0;
  box-sizing: border-box;
  width: auto;
  display: block;
}
 main .cv_top .price,
 main .app_area .price{
  display: block;
  width:100%;
  margin-bottom: 20px;
 padding-bottom: 10px;
 }
main .cv_top p.sp,
 main .app_area p.sp{
  color: #000;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin:20px 0 10px;
  display: block;
}
main .cv_top.sp:after{
  content:" ";
  display: block;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  margin:auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color:#e5e5e5 transparent transparent transparent;
  z-index: 10;
 }
main .app_area .column2:before{
  content:" ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin:auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color:#e5e5e5 transparent transparent transparent;
 }
main .cv_btn .column2,
main .app_area .column2{
  background-color: #000;
  padding-top: 30px;
  padding-bottom: 15px;
  position: relative;
}
main .cv_btn .textblock .gridbox.column2 .grid{
  padding: 0;
}
main .cv_btn .gridbox.column2 .grid:nth-child(1),
main .app_area .gridbox.column2 .grid:nth-child(1),
main .flow_box .gridbox.column2 .grid:nth-child(1){
  width: 100%;
}
main .cv_btn .gridbox.column2 .grid:nth-child(2),
main .textblock .flow_box .gridbox.column2 .grid:nth-child(3),
main .cv_btn .gridbox.column2 .grid:nth-child(3),
main .app_area .textblock .gridbox.column2 .grid:nth-child(2),
main .app_area .textblock .gridbox.column2 .grid:nth-child(3){
  width: 49%;
}
main .cv_btn .gridbox.column2 .grid:nth-child(2),
main .app_area .gridbox.column2 .grid:nth-child(2){
  margin-right: 2%;
}
main .textblock .gridbox.column6.pc{
      display: none;
    }
main .flow .flow_box .cv_flow .grid:nth-child(1){
  margin-bottom: 10px;
}
main .flow .flow_box .cv_flow .grid:nth-child(1) p{
  font-size: 20px;
}
main .flow .flow_box .cv_flow .grid:nth-child(2) p{
  font-size: 16px;
}
main .flow .flow_box .cv_flow .grid:nth-child(3) p{
  font-size: 15px;
}
.btn_experience_img{
  position: relative;
  display: block;
}
.btn_experience_img:before{
  content: "";
  background:url(/assets/dah/images/course/base/arrow_experience.png) no-repeat;
  background-size: cover;
  width: 35px;
  height: 22px;
  position: absolute;
  left: 10%;
  top: 26%;
  z-index: 2;
  animation: horizontal 1s ease-in-out infinite normal;
  -webkit-animation:horizontal 1s ease-in-out infinite normal;
  -ms-animation:horizontal 1s ease-in-out infinite normal;
}
/*********CVエリアここまで************/
/**********ボタン系ここから**************/
.btn_experience,
.btn_salon,
.btn_tel{
  width: 100%;
  display: block;
  height: 64px;
  padding-top: 12px;
  box-sizing: border-box;
  position: relative;
  transition: 0.3s;
}
.btn_salon{
  padding-top: 18px;
}
.btn_experience p{
  font-size: 20px;
}
.btn_salon p,
.btn_tel p{
  font-size: 16px;
}
.btn_experience p,
.btn_salon p,.btn_tel p{
  font-weight: bold;
  text-align: center;
  z-index: 10;
  position: relative;
  background-repeat: no-repeat;
}
.btn_tel{
  padding-top: 8px;
}
.btn_tel p{
  text-align: left;
  padding-left: 45px;
  font-size: 15px;
}
.btn_experience p{
  background-image: url(/assets/dah/images/course/base/icon_experience_sp.png);
  background-position: left 30px center;
  transition: 0.3s;
  background-size: 17px auto;
}
.btn_salon p{
  background-image: url(/assets/dah/images/course/base/icon_salon_sp.png);
  background-position: left 20px center;
  transition: 0.3s;
  background-size: 16px auto;
}
.btn_tel p{
  background-image: url(/assets/dah/images/course/base/icon_tel.png);
  background-position: left 20px center;
  transition: 0.3s;
  background-size: 16px auto;
}
.btn_experience p img,
.btn_salon p img{
  display: inline-block;
  margin-right: 10px;
  vertical-align: text-bottom;
  padding-bottom: 3px;
}
.btn_experience{
  background-color: #e4007f;
  color: #fff;
  z-index: 0;
}
.btn_experience:after{
  content:"";
  height: 32px;
  background-color: #c9006f;
  border:1px solid #c9006f;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.btn_salon{
  background-color: #fff;
  color: #000;
}
.btn_salon:after{
  content:"";
  height: 32px;
  background-color: #e5e5e5;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.btn_tel{
  background-color: #1e518f;
  color: #fff;
}
.btn_tel:after{
  content:"";
  height: 32px;
  background-color: #194375;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transition: 0.3s;
}
.epilation_salon .grid a{
  display: block;
  text-align: center;
  color: #194375;
  font-size: 14px;
  transition: 0.3s;
  background-color: #fff;
  position: relative;
  border: 1px solid #fff;
}
/**********ボタン系ここまで**************/
/***********タイトル系パーツ*************/
main h2.center.pc{
  display: none;
}

main h2.thin,main h2.center{
  font-size: 22px;
  text-align: center;
  display: block;
}
main h2.thin:after,main h2.center:after{
  content:"";
  width: 60px;
  height: 4px;
  background-color: #194375;
  display: block;
  margin:25px auto 40px;
}
main h2.center.sp_img{
  padding: 40px 0;
  text-align: center;
  display: block;
  background-size: cover;
  font-size: 20px;
  color: #fff;
  background-position: center;
}

main h2.center.sp_img:after{
  display: none;
}


main h3.page_h3_ttl2{
  text-align: center;
  margin:0 auto 20px;
  width: 90%;
}
main h3,
main table.salon_table caption{
  font-size: 15px;
  font-weight: bold;
}

main h3.border{
  background-color: #fff;
  text-align: center;
  font-size: 16px;
  padding: 16px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
main h3.border.left{
  font-size: 1.6rem;
  padding-top: 16px;
  padding-bottom: 20px;
  text-align: left;
  position: relative;
}
main .textblock h3.border.left img.sp{
  width: 26px;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
  max-width: 10%;
}
main h3.border.left .ttl_txt{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  max-width: 80%;
}
main h3.border.left.number{
  padding-top: 16px;
  padding-bottom: 20px;
}
main h3.border.left .no_txt{
  font-size: 3.8rem;
  font-weight: 200;
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.4em;
}
main h3.border.left.number .ttl_txt{
  display: inline-block;
  font-weight: bold;
  line-height: 22px;
  vertical-align: middle;
  width: calc(100% - 0.4em);
  padding-left:1.5em;
  max-width: calc(100% - 0.4em);
}
main h3.border.left .big{
  font-size: 18px;
  color: #e4007f;
  font-weight: bold;
}
main h3.border.left .ttl_small{
  font-size: 15px;
  display: block;
  font-weight: normal;
}
main h3.border.open_sp{
  position: relative;
}
main h3.bg_blue,
main h3.page_h3_ttl5{
  background-color: #194375;
  color: #fff;
  font-size: 16px;
  padding:10px 20px;
  font-weight: normal;
  position: relative;
  border-bottom: 1px solid #fff;
}
main .faq h3.bg_blue{
  background-color: #194375;
  color: #fff;
  font-size: 16px;
  padding:10px 40px 10px 20px;
  font-weight: bold;
  position: relative;
}
main h3.bg_blue span.oswald{
  display: inline-block;
  margin-right: 10px;
  font-size: 20px;
}
main .faq h3.bg_blue img{
  display: inline-block;
  margin-right: 10px;
  padding-top: 5px;
  vertical-align: text-bottom;
}
main h5.page_h5_ttl1{
  color: #194375;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}
main h3.bg_blue.open_ttl{
  padding-right: 50px;
  position: relative;
}
main h3.bottom_line{
  border-bottom: 1px solid #111;
  border-top: 1px solid #111;
  width: 100%;
  padding: 15px 10px;
}
/***********タイトル系パーツここまで************/
/***********開閉ボックスここから*************/
.open_box{
  display: block;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  width: 37px;
height: 37px;
background-color: transparent;
outline: none;
border: none;
cursor: pointer;
margin: auto;
z-index: 100;
}
.open_btn2:before,
.open_box:before{
  display: block;
position: absolute;
left: 0;
top:0;
bottom:0;
margin-top: auto;
margin-bottom: auto;
width: 70%;
height: 2px;
background-color: #FFF;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: rotate(0deg);
}
.open_btn2:after,
.open_box:after{
position: absolute;
left: 0;
top:0;
bottom:0;
margin-top: auto;
margin-bottom: auto;
width: 70%;
height: 2px;
background-color: #FFF;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: rotate(90deg);
}
.open_btn2.open_now:after,
.open_box.open_now:after{
  transform: translateY(0px) rotate(0deg);
}
.open_btn2.open_now:before,
.open_box.open_now:before{
   transform: rotate(0deg);
   display: block;
}
.open_btn2{
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  top: 0;
  bottom: 0;
  margin:auto;
  right: 10px;
}
.open_btn2:before,.open_btn2:after{
  background-color: #000;
}
/*****ボタン前にボックスがあるパターン******/
.close_btn,
.step_close{
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  display: block;
  width: 140px;
  margin:20px auto 0;
  padding-bottom: 20px;
  position: relative;
}
.close_btn:before,
.step_close:before{
display: block;
position: absolute;
left: 0;
top:10px;
width: 20px;
height: 2px;
background-color: #000;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: translateY(-12px);
transform: translateY(0px) rotate(180deg);
}
.step_close:after{
position: absolute;
left: 0;
top:10px;
width: 20px;
height: 2px;
background-color: #000;
content: "";
transition: transform 0.3s;
margin-left: 15%;
transform: translateY(0px) rotate(-90deg);
}
.step_close.open_now3:after{
  top:10px;
  top:23px;
  transform: translateY(-12px);
}
.close_btn.open_now:before,
.step_close.open_now3:before{
display: none;
}

/***********開閉ボックスここまで**************/
/***********コースページトップスライダーここから**************/
.slide2 .slick-prev,.slide2 .slick-next{
  background-color: transparent;
  border: none;
  height: 70px;
  width: 50px;
}
.slide2 .slick-prev:before{
  content: "";
    width: 75px;
    height: 75px;
    border: 2px solid;
    border-color: transparent transparent #1a4476 #1a4476;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: 15px;
}
.slide2 .slick-next:before{
  content: "";
    width: 75px;
    height: 75px;
    border: 2px solid;
    border-color: #1a4476 #1a4476 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -43px;
}
.slide2 .slick-dotted.slick-slider .slick-list{
  width: 100%;
  display: block;
  margin:10px auto;
}
.slide2 .slick-dotted.slick-slider{
  margin-bottom: 0;
  padding-bottom: 30px;
}
/***********コースページトップスライダーここまで**************/
/***********スマホだけスライダーここから***********************/
main .slide_sp{
  width: 100%;
  max-width: 100%;
}
main .slide_sp.slick-initialized .slick-slide{
  width: 100vw;
}
main .slide_sp .slick-slide img{
  width: 70vw;
  margin-left: 15vw;
  margin-right: 15vw;
}
main .slide_sp .slick-prev,main .slide_sp .slick-next{
  background-color: transparent;
  border: none;
  height: 70px;
  width: 50px;
}
main .slide_sp .slick-prev:before{
  content: "";
    width: 75px;
    height: 75px;
    border: 2px solid;
    border-color: transparent transparent #1a4476 #1a4476;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: 5px;
}
main .slide_sp .slick-next:before{
  content: "";
    width: 75px;
    height: 75px;
    border: 2px solid;
    border-color: #1a4476 #1a4476 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -33px;
}
main .slide_sp .slick-dotted.slick-slider .slick-list{
  width: 100%;
  display: block;
  margin:10px auto;
}
main .slide_sp .slick-dotted.slick-slider{
  margin-bottom: 0;
  padding-bottom: 30px;
}
main .slide_sp .slick-dots li button:before{
  border-top:16px solid #ccc;
  width: 16px;
  margin-left: 12px;
}
main .slide_sp .slick-dots li.slick-active button:before{
  border-top: 16px solid #2f5582;
}
/***********スマホだけスライダーここまで***********************/
/***********こんな方におすすめ*************/
 main .recommend{
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  background-color: #fff;
}
 main .recommend .inner{
  padding: 50px 20px 20px;
}
main .mark_list{
  margin: 40px 0 0 2em;
}
main .mark_list li{
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
  text-indent:-1em;
  padding-left:1em;
}

main .recommend .textblock .gridbox.column2 .grid{
  width: 100%;
  font-weight: bold;
  background-color: transparent;
  margin-bottom: 10px;
 }
 main .mark_list li:before{
  content: url(/assets/dah/images/course/base/target_check.png);
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
}
 main .big_txt{
  font-size: 18px;
  font-weight: bold;
}
main .big_txt a{
  color: #e4007f;
  font-weight: bold;
  text-decoration: underline;
}
/***********こんな方におすすめここまで*************/
/***********ページ内ナビ***************/
 main .pages_nav{
  background-color: #f6f6f6;
  padding: 20px;
}
 main .menu_ttl{
  font-size: 14px;
  font-weight: bold;
  color: #555;
 }
 main .pages_nav li {
  background-color: #f6f6f6;
  margin-bottom: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px solid #111;
}
main .pages_nav.vertical_list{
  background-color: transparent;
}
 main .pages_nav.vertical_list li{
  background-color: #fff;
  padding: 15px 0;
 }
 main .pages_nav li a{
  padding-left: 20px;
  font-size: 14px;
  box-sizing: border-box;
  position: relative;
  display: block;
}
 main .pages_nav li a:after{
  content:"";
  border-bottom: 1px solid #000;
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: 0;
 }
 main .pages_nav li a:before{
  content: "";
    width: 15px;
    height: 15px;
    border: 2px solid;
    border-color: transparent transparent #000 #000;
    transform: scale(.5) rotate(-45deg);
    position: absolute;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    top: 0px;
    margin-right: 5px;
    transition: .2s;
 }
 main .pages_nav li a:hover:before{
  top: 3px;
 }
main .pages_nav li a.window{
    text-indent: -2em;
    padding-left: 2em;
    display: inline-block;
    line-height: 1.4;
}
main .pages_nav li a.window:before{
    content: "";
    width: 20px;
    height: 20px;
    background:url(/assets/dah/images/icon_other_window_sp.png) no-repeat center center;
    background-size: contain;
    border-color: transparent;
    position: relative;
    transform: none;
    display: inline-block;
    overflow: hidden;
    left: 0px;
    margin-right:5px;
    top: 4px;
    z-index: 3;
}
main .pages_nav li a.window:after{
  display: none;
}
 main .menu_ttl{
  font-size: 14px;
  font-weight: bold;
  color: #555;
 }



main .m-linkList {
    font-size: 0px;
    padding-bottom: 0;
    margin: 0 2px 0px;
  }

main .m-linkList_item {
    line-height: 1.5;
    font-weight: normal;
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    margin: 0 0 10px 0;
    padding-left: 12px;
    border-bottom: 1px solid #ccc;
  }
main .m-linkList_item:last-child{
    margin: 0 0 0px 0;
    border-bottom: 0px solid #ccc;
  }
main .m-linkList_item > a {
    display: block;
    padding: 10px 0px 10px 10px;
    background: none;
    position: relative;
    font-size: 1.4rem;
    color: #000;
    transition: all .25s ease;
  }
main .m-linkList_item > a:before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    left: -7px;
    top: 14px;
  }
main .m-linkList_item > span {
    display: block;
    padding: 10px 0;
    color: #ccc;
  }
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list{
  padding: 0 0 20px;
  position: relative;
}
main .pages_2column div.p_2c_main div.textblock.pages_content.block_pagelink .pages_nav.vertical_list:after{
  content: "";
  display: block;
  width: -webkit-calc(100% + 40px);
  width: calc(100% + 40px);
  height: 10px;
  background-color: #f6f6f6;
  position: absolute;
  left: -20px;
  bottom: -20px;
}

/***********ページ内ナビここまで***************/
/************お客様の声*************/

main .slide2 .slider{
  margin-top: 30px;
}
main .slide2 .slick-dots li button:before{
  border-top:16px solid #ccc;
  width: 16px;
  margin-left: 12px;
}
main .slide2 .slick-dots li.slick-active button:before{
  border-top: 16px solid #2f5582;
}
main .voice .textblock .gridbox.column2 .grid.pc{
  display: none;
}
main .voice .textblock .gridbox.column2 .grid{
  background-color: transparent;
  width: 100%;
}


main .detail_comment1{
  font-size: 14px;
}
main .more_read{
  display: block;
  font-size: 15px;
  margin: 70px auto;
  position: relative;
  text-align: center;
}
main .more_read .open_btn{
  position: relative;
  background-color: #000;
  display: inline-block;
  width: 35px;
  height: 35px;
  vertical-align: middle;
  margin-right: 10px;
}
main .more_read .open_btn:before{
  display: block;
    position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(0deg);
}
main .more_read .open_btn:after{
  position: absolute;
    left: 5%;
    top: 16px;
    width: 60%;
    height: 2px;
    background-color: #FFF;
    content: "";
    transition: transform 0.3s;
    margin-left: 15%;
    transform: rotate(90deg);
}
main .more_read.open_now2 .open_btn:after{
   transform: translateY(0px) rotate(0deg);
}
main .voice ul.f_small {
  padding: 10px 20px;
}
/*************お客様の声ここまで****************/
/****************効果***************/
main .efficacy{
  margin-top: 50px;
}
main .bgimage_area{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin-top: 30px;
}
main .efficacy .textblock .grid{
  background-color: transparent;
}
main .efficacy .textblock .gridbox.column2 .grid{
  width: 100%;
  background-color: transparent;
}
main .bgimg_txt{
  background-image: url(/assets/dah/images/course/base/bg_readcont.png);
  background-size: cover;
  background-position: top center;

}
main .bgimg_txt p{
  font-size: 18px;
  padding-top: 30px;
  padding-bottom: 30px;
}

/*************効果ここまで**************/
/*************STEPここから*************/
main .step{
  margin-top: 50px;
}
main .step .textblock .grid{
  margin-bottom: 0;
}
main .step .step_full{
  margin-top: 30px;
}
main figure.figre_img {
  display: inline-block;
}
main figure.figre_img.image_orign{
  width: 100%;
}
main figure.figre_img.image_comment.pc{
  display: none;
}
main figure.figre_img.image_comment.sp{
  width: 100%;
  padding-top:20px;
  padding-bottom: 20px;
}

/*************STEPここまで*************/
/**************横100画像エリア***************/
main .full_image img{
  width: 100%;
}
main .full_image p.full_image_txt{
  font-size: 20px;
  color: #194375;
  font-weight: bold;
  padding-top:50px;
  padding-bottom: 50px;
  letter-spacing: 0;
}
/**************横100画像エリアここまで***************/
/**************体験の流れここから**********************/
main .flow{
  margin-top: 50px;
}
main .flow .flow_box {
  position: relative;
}
main .flow .textblock .flow_box .gridbox:not(.cv_flow) .grid{
  background-color: transparent;
  width: 100%;
}
main .flow .flow_box .grid p{
  font-size: 14px;
}
main .flow .flow_box .cont_box{
  padding:20px 20px 30px;
}
main .flow .flow_box .cont_box img{
  width: 100%;
}
main .flow .flow_box .grid p + .page_h5_ttl1{
  margin-top: 30px;
}
main .flow .flow_box .cv_flow{
  background-color: #000;
  padding: 20px 10px 15px;
  margin-bottom: 10px;
}
main .flow .flow_box .cv_flow .grid{
  margin-bottom: 0;
  display: block;
  background-color: transparent;
}
main .flow .point{
  color: #e4007f;
  margin-top: 10px;
}
main .bg_pink{
  background-color: #e4007f;
  color: #fff;
  padding: 3px 6px;
  font-size: 13px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_basecolor_txt{
  background-color: #194375;
  color: #fff;
  padding: 3px 6px;
  font-size: 15px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 2px;
}
main a.bg_basecolor_txt{
  color: #fff;
}
main .bg_basecolor_txt.category_name{
  font-size: 13px;
}
main .category_tag.bg_basecolor_txt{
  font-size: 13px;
}
main .bg_bk_txt,main a.bg_bk_txt{
  background-color: #111;
  color: #fff;
  padding: 1px 6px 4px 6px;
  font-size: 11px;
  text-align: center;
  display: inline-block;
  margin-right: 10px;
}
main .bg_bk_txt img{
  width: auto;
  display: inline-block;
  max-height: 1.4em;
  vertical-align: inherit;
  margin-right:3px;
  padding-top:4px;
}
main .bg_basecolor_txt.medium_txt{
  font-size: 15px;
}
/**************体験の流れここまで**********************/
/**************よくあるご質問ここから******************/
main .faq{
  margin-top: 50px;
}
main .faq .faq_box .page_h4_ttl5{
  background-image:url(/assets/dah/images/course/base/icon_q_sp.png);
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 15px auto;
  display: block;
  min-height: 60px;
  padding: 15px 40px;
}
main .faq .faq_box{
  background-color: #fff;
}
main .faq .faq_box .a_text{
  padding: 20px 20px 20px 50px;
  position: relative;
  font-size: 15px;
  background-image: url(/assets/dah/images/course/base/icon_a_sp.png);
  background-repeat: no-repeat;
  background-position: left 10px top 20px;
  background-size: 24px auto;
}
main .faq .faq_box .open_box{
  top: 14px;
}
/**************よくあるご質問ここまで*******************/
/**************お得情報ここから****************/
main .campaign_area{
  margin-top: 50px;
}
main .campaign_area .textblock .gridbox.column4 .grid{
  display: block;
  width: 290px;
  margin:10px auto;
  background-color: transparent;
}
main .campaign_area .textblock .gridbox.column4 .grid img{
  box-shadow: 0 0 8px gray;
}
/**************お得情報ここまで****************/
/**********キャンペーン情報ここから*************/
main .campaign_area .gridbox{
  padding: 0 20px;
}
/**********キャンペーン情報ここまで*************/
/**************ページ内バナーここから************************/
main .bnr_area a,
main .bnr_area .bnr_campaign,
main .bnr_area .bnr_campaign_bridal{
  display: block;
  text-align: center;
  margin:30px auto;
}
main .bnr_area .bnr_pesonalgym{
  width: 90%;
}
main .bnr_area .bnr_campaign a{
  margin:0 auto;
  padding: 0;
  width: 320px;
}
main .bnr_area .bnr_campaign a:nth-child(1){
  height: auto;
}
main .bnr_area .bnr_campaign a:nth-child(2){
  height: auto;
}
/**************ページ内バナーここまで************************/
  /**************サロン一覧ここから********************/
  main .list_column{
    padding:40px 20px 10px;
  }
  main .list_column dt{
    margin-bottom: 15px;
  }
  main .list_column dt a{
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
    color: #194375;
  }
  main .list_column dd .prefbtn a{
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
  }
  main a.arrow:before,
  main .list_column dt a:before,
  main .list_column dd .prefbtn a span:before,
  main table.salon_table th a:before,
  main .return_btn a:before,
  main .front_btn a:after{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -4px;
    top: 2px;
    z-index: 3;
  }
    main .list_column dt a:before{
    width: 16px;
    height: 16px;
    top: 2px;
  }
  main .return_btn a:before{
    transform: scale(.5) rotate(225deg);
  }
  main .front_btn a:after{
    left:auto;
    right: -2px;
  }
  main .list_column dt a:before{
    border-color: #194375 #194375 transparent transparent;
  }
  main .list_column dd{
    margin-bottom: 20px;
  }
  main .list_column dd .prefbtn a.btn_block div.white_btn{
    height: 60px;
    position: relative;
    transition: 0.3s;
    background-color: #fff!important;
    color: #000;
  }
  main .list_column dd .prefbtn a.btn_block div.white_btn{
    border-color: transparent!important;
  }
  main .list_column dd .prefbtn a .white_btn span{
    text-align: left;
    padding-left: 6px;
    letter-spacing: 0;
  }
  /**************サロン一覧ここまで********************/
  /**************サロンオープン情報ここから*****************/
  main div.news{
    padding-top: 20px;
    padding-bottom: 20px;
  }
main div.news h3 {
    padding: 20px 0 16px;
    margin: 0;
    display: block!important;
}
  main div.news dl.news_list{
    letter-spacing: 1px;
    display: block;
    width: 100%;
    border-bottom:1px solid #000;
    margin-bottom: 15px;
  }
  main div.news dl.news_list dt{
    display:inline-block;
    vertical-align: middle;
    text-align: left;
    width: 100%;
    padding:0px 0px 5px 0px;
  }
  main div.news dl.news_list dt span.date{
    width:68px;
    letter-spacing: 1px;
    font-weight: 400;
    color:#194375;
    text-align: left;
    font-size: 1.3rem;
  }
  main div.news dl.news_list dt span.label{
     font-size: 1.1rem;
    text-align: center;
    display: inline-block;
    margin-left: 2px;
    padding: 2px 8px;
  }
  main div.news dl.news_list dd{
    font-size: 1.4rem;
    line-height: 1.4;
    display:inline-block;
    vertical-align: middle;
    width: 100%;
    padding:2px 0px 15px 0px;
  }
  main div.news dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
    line-height: 1.5;
    margin-top:4px;
  }
  main div.news dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
  }
  /**************サロンオープン情報ここまで*****************/
/**************エリア別サロン一覧ここから*******************/
main .icon_guide{
  display: block;
  padding:20px 10px 12px 0;
}
main .icon_guide ul li{
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
}
main .icon_guide ul li img{
  width: 25px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
main .pref_box{
  background-color: #fff;
  margin-left: 0px;
  margin-right: 0px;
}
main .pref_box + section{
  margin-top: 30px;
}
main table.salon_table{
  width: 100%;
  box-sizing: border-box;
  margin:20px auto;
  border-collapse: separate;
  border-spacing: 0px;
  font-size: 14px;
  table-layout: fixed;
    word-wrap: break-word;
    word-break: break-all;
    overflow: hidden;
}
main table.salon_table caption{
text-align: left;
margin:15px 20px;
letter-spacing: 0;
}
main table.salon_table tr.table_top th{
  background-color: #cccccc;
  text-align: center;
  padding: 15px 0;
  line-height: 1.2em;
}
main table.salon_table tr:nth-child(even){
  background-color: #f6f6f6;
}
main table.salon_table tr:nth-child(odd){
  background-color: #f0f3f7;
}
main table.salon_table th,main table.salon_table td{
  vertical-align: middle;
  padding: 15px 20px;
  line-height: 1.5em;
}
main table.salon_table th{
  padding: 15px 20px 0;
}
main table.salon_table td{
  padding: 5px 30px 15px 20px;
}
  main table.salon_table th a{
    color: #194375;
    font-weight: bold;
    font-size: 1.6rem;
    display: block;
  }
  main table.salon_table td a.linkblock{
     position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
  }
  main table.salon_table th a:before{
    content:none;
    border-color: #194375 #194375 transparent transparent;
  }
main table.salon_table td span.parking{
  display: inline-block;
  margin-top: 5px;
  margin-right: 10px;
}
main table.salon_table td span.parking_txt,
main table.salon_table td .parking_icon{
  display: inline-block;
  vertical-align: middle;
}
main table.salon_table td span.parking_txt a{
  z-index: 10;
  text-decoration: underline;
  display: inline-block;
  position: relative;

}
main table.salon_table td .parking_icon{
  margin-right: 5px;
}
main table.salon_table td .campaign_icon img{
  margin:0;
  display: inline-block;
  width: 24px;
  position: relative;
  top: 8px;
}
main table.salon_table td .parking_on{
  font-size: 12px;
  line-height: 1.3em;
}
main table.salon_table tr.table_top{
  display: none;
}
main table.salon_table tr{
  margin-bottom: 0px;
  display: block;
  border-top:1px solid #cccccc;
  position: relative;
}
main table.salon_table tr:after{
    content: "";
    width: 20px;
    height: 20px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: absolute;
    display: inline-block;
    overflow: hidden;
    right: 20px;
    top: calc(50% - 10px);
}
main table.salon_table tr:last-child{
  border-bottom:1px solid #cccccc;
}
main table.salon_table tr th,
main table.salon_table tr td{
  display: block;
  width: 100%;
  box-sizing: border-box;
  white-space: inherit;
}

/*
main table.salon_table tr th,
main table.salon_table tr td{
  padding-left: 90px;
  position: relative;
}
main table.salon_table tr th:nth-child(1):before{
  content:"サロン名";
}
main table.salon_table tr td:nth-child(2):before{
  content:"住所";
}
main table.salon_table tr td:nth-child(3):before{
  content:"TEL";
}
main table.salon_table tr td:nth-child(4):before{
  content:"営業時間";
}
main table.salon_table tr td:nth-child(5):before{
  content:"キャンペーン";
}
*/
main table.salon_table tr td:nth-child(3),
main table.salon_table tr td:nth-child(4),
main table.salon_table tr td:nth-child(5){
display: none;
}

main table.salon_table tr th:before,
main table.salon_table tr td:before{
  display: flex;
  background-color: #ccc;
  text-align: center;
  width: 80px;
  height: 100%;
  margin-right: 10px;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 12px;
  justify-content: center;
  align-items: center;
}
main .g_map{
  height: 480px;
}
/**************エリア別サロン一覧ここまで*******************/
/*************重要なお知らせここから*********************/
main .important_txt{
  display: block;
  border: 2px solid #ff0000;
  background-color: #fff;
  /*margin:20px auto 0px auto;*/
  margin: 20px 20px 0px 20px;
  padding:10px;
  box-sizing: border-box;
}
main .important_txt a{
  text-decoration: underline;
}
main .important_txt h3{
  display: block;
  background-image: url(/assets/dah/images/salon/icon_important.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
  font-weight: bold;
  font-size: 14px;
  color: red;
}
main .important_txt p{
  display: block;
  font-size: 13px;
  margin-bottom: 0;
}
main .important_txt p.red,
main .important_txt p.red a,
main .important_txt p.red a:link{
  color: red;
  font-weight: bold;
}
main .important_txt p .label{
  font-size: 1.4rem;
}
main.top .important_txt p .label.open{
  background: #1a4476;
}
main.top .important_txt p .label.closed{
  background: #d52222;
}
/*************重要なお知らせここまで*********************/
/**************サロン個別ページスライダーパーツ*****************/
main .slide_box{
  display: block;
  width: 100%;
  max-width: 400px;
  margin:0 auto;
  box-sizing: border-box;
}
main .slide_box .thumbnails{
  margin-top:30px;
  text-align: center;
}
main .slide_box .thumbnails li{
  width: 80px;
  height: auto;
  display: inline-block;
  margin: 0 4px;
}
main .slide_box .thumbnails li img{
  width: 80px;
  height: auto;
  display: block;
  margin:0 auto;
}
main .slide_box .thumbnails .slick-current img{
  border: 4px solid #244c7c;
}
main .slide_box .thumbnails li{
  position:relative;
}
main .slide_box iframe{
  height:380px;
}
/**************サロン個別ページスライダーパーツ*****************/
/**************個別店舗情報ここから****************/
main .fivestar{
  margin-left: 0px;
  margin-top: 15px;
  max-width: 45%;
}
main dl.detail_info{
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  margin: 15px auto;
}
main dl.detail_info dt,
main dl.detail_info dd{
  padding: 10px 15px;
  border-bottom: 1px solid #f6f6f6;
}
main dl.detail_info dt{
  background-color: #ccc;
  width: 30%;
}
main dl.detail_info dd{
  width: 70%;
}
main dl.detail_info dd a{
  text-decoration: none;
}
main .access p{
  padding: 0 10px;
}
main .return_btn,
main .front_btn{
  margin-top: 30px;
}
main .front_btn{
  text-align: right;
}
main .return_btn a{
  font-size: 15px;
  margin-left: 10px;
}
main .front_btn a{
  font-size: 15px;
  margin-right: 10px;
}
/**************個別店舗情報ここまで****************/

  /**************サロンオープン情報ここから*****************/
  main div.news_block{
    padding: 20px
  }
  main div.news_block dl.news_list{
    letter-spacing: 1px;
    display: block;
    width: 100%;
    margin-bottom: 15px;
    background-color: #f6f6f6;
    padding:18px 20px 5px;
    margin-bottom: 2px;
  }
  main div.news_block dl.news_list dt{
    display:inline-block;
    vertical-align: middle;
    text-align: left;
    width: 100%;
    padding:0px 0px 5px 0px;
  }
  main div.news_block dl.news_list dt span.date{
    width:68px;
    letter-spacing: 1px;
    font-weight: 400;
    color:#194375;
    text-align: left;
    font-size: 1.3rem;
  }
  main div.news_block dl.news_list dt span.label{
    min-width:100px;
     font-size: 1.1rem;
    text-align: center;
    display: inline-block;
    margin-left: 2px;
    padding: 2px 8px;
    position: relative;
    top: -1px;
  }
  main div.news_block dl.news_list dd{
    font-size: 1.4rem;
    line-height: 1.4;
    display:inline-block;
    vertical-align: middle;
    width: 100%;
    padding:2px 0px 15px 0px;
  }
  main div.news_block dl.news_list dd a{
    text-indent: -1em;
    padding-left:1em;
    display: block;
    text-decoration: none;
    line-height: 1.5;
    margin-top:4px;
  }
  main div.news_block dl.news_list dd a:before{
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #000 #000 transparent transparent;
    transform: scale(.5) rotate(45deg);
    position: relative;
    display: inline-block;
    overflow: hidden;
    left: -5px;
    top: 1px;
  }
  /**************サロンオープン情報ここまで*****************/
  /**************ニュースリリース詳細情報ここから*****************/
  main div.news_contents{
    margin-top:0px;
    padding: 20px;
    line-height: 1.6;
  }
  main div.news_contents a{
    text-decoration: underline;
  }
  main div.news_contents .center_img img{
    display: block;
    margin: 0 auto;
    width: auto;
  }
  /**************ニュースリリース詳細情報ここまで*****************/
  /**************はじめての方へインデックスここから*****************/
  .index_back_image{
    background-color:#fff;
    box-shadow:0px 0px 18px rgba(0,0,0,0.18);
    margin-bottom:20px;
    margin-right:0px;
    margin-top: 0px!important;
  }
  .index_back_image:nth-of-type(even){
    margin-right:0px;
  }
  .index_back_image h3{
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .index_back_image a{
    padding: 44px 15px;
    display: block;
  }
  /**************はじめての方へインデックスここまで*****************/
/***************個別パーツ用ここまで*******************/

/* sns */
  main section#sns{
      background-color: #f6f6f6;
  }
  main section#sns .inner{
    max-width:100%;
    padding:54px 10px 38px 10px;
  }
  main section#sns .inner .textblock .gridbox.column2 .grid,
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid{
    background-color: transparent;
    margin-right: 2%;
    width: 49%;
    text-align: right;
  }
  main section#sns .inner .textblock .gridbox.column2 .grid:nth-of-type(2n),
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid:nth-of-type(2n){
    margin-right: 0%;
    text-align: left;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid{
    background-color: transparent;
    width: 31.5%;
    margin-right: 2%;
    text-align: right;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid:nth-of-type(2n){
    text-align: center;
  }
  main section#sns .inner .textblock .gridbox.column3 .grid:nth-of-type(3n){
    margin-right: 0%;
    text-align: left;
  }

  main section#sns .inner .textblock .gridbox.column2 .grid a.btn_block,
  main .pages_2column .p_2c_main #sns .gridbox.column2 .grid a.btn_block{
    max-width: 120px;
    min-width: 111px;
    height:44px;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
  }
  main section#sns .inner .textblock .gridbox.column3 .grid a.btn_block,
  main .pages_2column .p_2c_main #sns .gridbox.column3 .grid a.btn_block{
    max-width: 120px;
    min-width: 111px;
    height:44px;
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
  }
  main section#sns .inner .textblock .gridbox .grid a.btn_block div span,
  main .pages_2column .p_2c_main #sns .gridbox .grid a.btn_block div span{
    top: 46%;
  }
  main section#sns .inner .textblock .gridbox .grid div.webbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.facebookbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.twitterbtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.linebtn a.btn_block span:before,
  main section#sns .inner .textblock .gridbox .grid div.instagrambtn a.btn_block span:before{
    content:"";
    background:url(/assets/dah/images/footer/icon_web_sp.png);
    background-size:cover;
    width:20px;
    height:20px;
    display:inline-block;
    position: relative;
    top: 5px;
    left: -5px;
  }
  main section#sns .inner .textblock .gridbox .grid div.webbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/icon_web_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.facebookbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/icon_facebook_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.twitterbtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_twitter_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.linebtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_line_sp.png);
    background-size:cover;
  }
  main section#sns .inner .textblock .gridbox .grid div.instagrambtn a.btn_block span:before{
    background:url(/assets/dah/images/footer/sns_insta_sp.png);
    background-size:cover;
  }

/*********        コンテンツマーケ用　　　************/
/**********画像リンクここから**********/
main .image_link_grid ul{
}
main .image_link_grid ul li{
  position: relative;
}
main .image_link_grid ul li a img.sp{
  width: 100%;
  display: block;
}
main .image_link_grid ul li a .image_link_box{
  background-image: none;
}

main .image_link_grid ul li a.category_tag{
  position: absolute;
  color: #fff;
  top: 0;
  left: 0;
}
main .image_link_grid ul li p.image_link_ttl{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px 10px 5px 10px;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3em;
  background: linear-gradient(0deg,rgba(255,255,255,.8),rgba(255,255,255,0));
  text-shadow: 0 0 5px #ffffff;
}
/********リンク用１ここから************/
main .category_name{
  text-align: left;
  margin-bottom: 3px;
  color: #fff;
}
main a.category_name:hover{
  color: #fff;
  opacity: 0.6;
}
main .linkbox_grid a:last-child{
  display: block;
}
main .linkbox_grid.grid{
  position: relative;
}
main .linkbox_grid.grid .new{
  position: absolute;
  left: 0;
  top:10px;
  font-size: 18px;
}
/********リンク用１ここまで************/
/********ページネーションここから*********/
main ul.pager,
.wp-pagenavi{
  width: 100%;
  margin:20px auto;
  display: flex;
  justify-content: center;
}
main ul.pager li + li,
.wp-pagenavi > *:not(:first-child){
  margin-left: 1%;
}
main ul.pager li.now,
.wp-pagenavi .current{
  background-color: #ccc;
  color: #808080;
  border:1px solid #ccc;
  padding: 5px 0;
}
main ul.pager li a,
.wp-pagenavi span,
.wp-pagenavi > a{
  display: block;
  background-color: #fff;
  color: #111;
  border:1px solid #111;
  width: 100%;
  height: 100%;
  padding: 5px 0;
  transition: 0.2s;
}
main ul.pager li,
.wp-pagenavi span,
.wp-pagenavi a{
  width: 14%;
  height: 45px;
  font-size: 18px;
  text-align: center;
}
main ul.pager li a:hover,
.wp-pagenavi a:hover{
  background-color: #111;
  color: #fff;
}


/********ページネーションここまで*********/
/********サイド用リンクパーツここから*****/
main .side_linkbox a{
  padding-bottom: 10px;
  display: block;
}
main .side_linkbox .gridbox{
  align-items: top;

}
main .textblock .side_linkbox .gridbox.column2.spcolumn2 .grid:nth-child(1){
  width: 20%;
}
main .textblock .side_linkbox .gridbox.column2.spcolumn2 .grid:nth-child(2){
  width: 80%
}
main .side_linkbox .grid img{
  padding-right: 5px;
}
main .pages_2column .p_2c_side iframe{
  width: 100%;
  padding: 0 10px;
}

/********サイド用リンクパーツここまで*****/
main .pages_2column{
  display: block;
}
/****一覧リンク(サイド用)ここから*****/

main ul.link_bggray li,
main .textblock ul.link_bggray li.grid{
  background-color: #f6f6f6;
  display: block;
  width: 100%;
  padding: 8px 12px;
  margin-bottom:12px;
}
main ul.link_bggray li a{
  display: block;
}
main a.link_right{
  display: block;
  width: 100%;
  text-align: right;
  padding-right: 10px;
}
main ul.link_bggray.inline_list li{
  width: auto;
  display: inline-block;
  margin-right: 12px;
}
main ul.link_bggray.inline_list a{
  display: inline-block;
}
/****一覧リンク(サイド用)ここまで*****/
/*****一覧ページタイトルここから******/
main .mainttl_area{
  padding: 0 10px;
}
main h1.nomal_big{
  font-size: 30px;
}
main h1.nomal_big.line_height_14{
  line-height: 1.3;
}
main .mainttl_area ul.link_bggray.inline_list li {
  margin-right: 5px;
  padding:5px 10px;
  margin-bottom: 5px;
}
main .textblock .gridbox.column2.mainttl_area .grid img{
  width: auto;
  display: block;
  margin:0 auto;
}
main .mainttl_area .date{
  margin-right: 10px;
}
main .mainttl_area .date,
main .mainttl_area .category_name{
  display: inline-block;
}

/*****一覧ページタイトルここまで******/
/********パンくずここから**********/
main .pankuzu.pankuzu_top{
  background-color: transparent;
  margin-bottom: 5px;
}
/********パンくずここまで**********/
/***一覧リンク(メイン用)ここから****/
main .border_link{
  border: 1px solid #111;
  padding-left: 5px;
  background-color: #fff;
  width: 100%;
  margin-bottom: 10px;
}
main .border_link a{
  display: block;
  width: 100%;
  padding: 10px 5px 10px 1.1em;
}
/***一覧リンク(メイン用)ここまで****/
/*****シェアボタンここから***********/
main .bg_bk_txt.fbshare{
  background-image: url(/assets/dah/images/article/icon_fb2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.fb_good{
  background-image: url(/assets/dah/images/article/icon_good.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_tw{
  background-image: url(/assets/dah/images/article/icon_tw2.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main .bg_bk_txt.share_hateb{
  background-image: url(/assets/dah/images/article/icon_bookmark.png);
  background-size: 12px;
  background-position: left 3px center;
  background-repeat: no-repeat;
  padding:4px 6px 4px 17px;
}
main section#sns.share_sns .textblock .grid a.btn_block{
  width: 100%;
}
main section#sns .share_btn_bottom{
  text-align: right;
  margin-top: 20px;
}
main .pages_2column .p_2c_main #sns .share_btn_bottom{
  text-align: center;
}
main section#sns .share_btn_bottom div,
main .share_btn_top div.fb_iframe_widget_fluid{
  vertical-align: super;
  display: inline-block;
}
main .share_btn_top > iframe,
main .share_btn_top div.fb_iframe_widget{
  vertical-align: top;
  margin: 0 10px 10px 0;
}

/*****シェアボタンここまで***********/
}

/*
 * ==============================================
 * ■画面の横幅が375pxまで (SP)
 * ==============================================
 */
@media screen and (max-width:375px){
	main .slide_box iframe{
		height:340px;
	}
}

/*
 * ==============================================
 * ■画面の横幅が320pxまで (SP)
 * ==============================================
 */
@media screen and (max-width:320px){
main .recommend{
  background-position: right -20px top;
}
main .recommend .inner{
  padding: 30px 15px 0;
}
main .mark_list{
  margin-bottom: 0;
}
main .mark_list li{
  font-size: 14px;
}
main h4.border.left{
  padding: 18px 10px;
}
.btn_experience p{
  background-position: left 20px center;
}
.btn_salon p{
  background-position: left 15px center;
}
.btn_tel p{
  background-position: left 10px center;
  padding-left: 35px;
}
main .flow .flow_box .cv_flow .grid:nth-child(1) p{
  font-size: 18px;
  background-position: left 15px center;
}
main .flow .flow_box .cv_flow .grid:nth-child(2) p{
  font-size: 15px;
  background-position: left 5px center;
}
main .flow .flow_box .cv_flow .grid:nth-child(3) p{
  font-size: 14px;
}
  main .list_column dt a,
  main .list_column dd .prefbtn a{
    font-size: 13px;
  }
  main .slide_box iframe{
    height:290px;
  }

}
