  @charset "UTF-8";
  @import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&display=swap');
  @import url('https://fonts.googleapis.com/css2?family=Playfair:wght@300&display=swap');

  :root{
    /*使用しない場合も必ず設定*/
    --i_bg_color: #fff;	/*背景色*/
    --i_txt_color: #333;	/*テキスト*/
    --i_main_color: #604300;	/*メイン*/
    --i_sub_color: #604300;	/*アクセント*/
    --i_sub2_color: #f3f1ec;	/*薄い色*/
    --i_btn_color: #800880;	/*ボタン*/
    --i_btn_hover_color: #800880;	/*ボタンhover*/
    --i_btn_txt_color: #fff;	/*ボタンテキスト*/
    --i_btn_hover_txt_color: #fff;	/*ボタンテキスト*/
    --i_shadow_color: rgba(0, 0, 0, 0.05);	/*シャドウ*/
    --i_border_color: rgba(0, 0, 0, 0.13);	/*ボーダー*/
    --i_noimg_bg_color: #f4f2ec;	/*画像無し*/
    --i_padding: 20px;	/*左右余白*/
  }
  @media screen and (max-width: 500px){
    :root{
      --i_padding: 20px;	/*左右余白*/
    }
  }

  /*------------------------------------------------------------------*/
  /*-----------------------------base---------------------------------*/
  /*------------------------------------------------------------------*/

  /*font*/
  .heading p, 
  .heading .h,
  header nav ul.nav_1st > li > a span,
  footer nav li a,
  .btn > a,
  .contents_btn01 a,
  .widget_form form .submit input,
  #mv .mv_text h2,
  #mv .mv_text p,
  #lv p span,
  .contents_faq01 dt:before,
  .contents_faq01 dd:before{
    font-family: 'Hina Mincho', serif !important;
    font-weight: 400 !important;
  }
  html{
    font-size: 62.5%;
  }
  body{
    font-size: 1.65rem;
    line-height: 1.9;
    letter-spacing: 0.02rem;
    -webkit-text-size-adjust: 100%;
    color: var(--i_txt_color);
    font-weight: 500;
  }
  body,
  main{
    background: #fff;
  }
  @media screen and (max-width: 850px){
    html{
      font-size: 60.606%;
    }
    body{
      letter-spacing: 0px;
    }
  }
  a{
    outline: 0;
    text-decoration: none;
    color: var(--i_txt_color);
  }
  section[style*=" color:"]:not([style*=" color: inherit"]) a,
  div[style*=" color:"]:not([style*=" color: inherit"]) a{
    color: inherit;
  }
  /*composite_boxの最大高さとトリミングの起点*/
  /*基本はjsにより各カラム中から最大の画角に設定*/
  .composite_box01 .inner_item_img img{
    object-position: 50% 50%;
    font-family: 'object-position: 50% 50%;';
  }

  @media screen and (max-width: 850px){
    #sidebar{
      border: 5px solid #f3f1ec !important;
    }
  }
  .no_img{
    background: var(--i_noimg_bg_color, rgba(200,200,200,0.3));
  }

  /*----------------------------loader----------------------------*/

  #load div:nth-of-type(1){
    background: #fff;
  }
  #load .loader,
  .popup .loader{
    border: 1px solid var(--i_main_color);/*★*/
  }
  #load .loader,
  #load .loader::before,
  .popup .loader,
  .popup .loader::before{
    border-top-color: var(--i_main_color);
  }
  #load .loader::before,
  #load .loader::after,
  .popup .loader::before,
  .popup .loader::after{/*★*-1*/
    left: -1px;
    top: -1px;
  }
  #load .loader,
  .popup .loader{
    border: 1px solid var(--i_main_color);/*★*/
  }
  #load .loader,
  #load .loader::before,
  .popup .loader,
  .popup .loader::before{
    border-top-color: #604300 !important;
  }
  #load .loader::before,
  #load .loader::after,
  .popup .loader::before,
  .popup .loader::after{/*★*-1*/
    left: -1px;
    top: -1px;
  }
  #load img{
    max-width: 220px;
    max-height: 150px;
  }
  @media screen and (max-width: 650px){
    #load img{
      max-width: 160px;
    }
  }

  /*----------------------------header----------------------------*/

  header{
    font-size: 1.4rem;
    color: #333;
  }
  header .wraper,
  header#pattern2:not(.width_full) nav{
    max-width: 1800px;
  }
  body.scrolled header{
    background: rgba(255, 255, 255, 0.9);
  }
  header h1{
    line-height: 1.5;
    font-size: 1.3rem;
    font-weight: normal;
    opacity: 0.7;
    fill: var(--i_txt_color);
  }
  body.scrolled header .logo{
    padding: 20px 0 !important;
  }
  header .logo,
  body header .logo a img{
    max-width: 200px;
    transition: 0.4s ease-in-out;
  }
  body.scrolled header .logo a img{
    max-height: 55px;
  }
  header .header_contents .header_col1{
    /* ▼水平方向レイアウト */
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }
  header .header_contents .header_col1 .tel{
    position: relative;
    font-size: 26px;
    line-height: 1;
    padding-left: 26px;
    font-weight: bold;
    font-weight: normal;
    fill: var(--i_txt_color);
  }
  header .header_contents .header_col1 .tel svg,
  header .header_contents .header_col1 .btn .translate a svg,
  header .burger li.sp_translate a svg,
  header .header_contents .header_sns li svg{
    fill: var(--i_txt_color);



  }

  header .sp_menu a div span,
  header .sp_menu a div:before,
  header .sp_menu a div:after{
    background: var(--i_txt_color);
  }
  header .header_contents .header_col1 .tel svg{
    width: 22px;
    height: 22px;
    top: calc(50% - 11px);
    left: 0;
  }
  header .header_contents .header_col1 .btn>a{
    display: block;
    text-align: center;
    background: var(--i_main_color);
    color: var(--i_btn_txt_color);
    padding: 9px 15px 9px;
    letter-spacing: 0.2rem;
    transition: 0.4s ease-in-out;
  }
  header .header_contents .header_col1 .btn>a:hover{
    opacity: 0.6;
  }
  header .header_contents .header_col1 .btn .translate a svg{
    max-width: 74%;
    max-height: 74%;
    margin: 13% auto 0;
  }
  header .header_contents .header_col1 .btn .translate a:hover{
    opacity: 0.8;
  }
  header#pattern1 nav,
  header#pattern3 nav{
    position: relative;
  }
  header nav *{
    color: var(--i_txt_color);
  }
  header#pattern2 nav ul.nav_1st{
    width: 70%;
  }
  header nav ul.nav_1st>li{
    box-sizing: border-box;
    position: relative;
  }
  header nav ul.nav_1st>li:after{/*罫線*/
    content: "";
    width: 1px;
    height: 50%;
    position: absolute;
    top: 25%;
    left: 0;
  }
  header nav ul.nav_1st>li:last-child:before{/*罫線*/
    content: "";
    width: 1px;
    height: 50%;
    position: absolute;
    top: 25%;
    right: 0;
  }
  header nav ul.nav_1st>li>a{
    font-size: 1.5rem;
    font-weight: bold;
    position: relative;
    padding-left: 0.5em !important;
    padding-right: 0.5em !important;
  }
  header nav ul.nav_1st>li>a span{
    /*ナビの高さはline-heightで調整*/
    line-height: 3;/* マージン普通選択時 */
    letter-spacing: 0.1rem;
    transition: 0.4s ease-in-out;
    font-size: 1.55rem;
    font-weight: 500;
  }
  header nav ul.nav_1st>li>a:hover span{
    color: var(--i_main_color);
  }
  header#pattern2 nav ul.nav_1st>li>a span{
    line-height: 3;
  }
  body.scrolled header#pattern2 nav ul.nav_1st>li>a span{
    line-height: 2.5;
  }
  body.margin header nav ul.nav_1st>li>a span{
    line-height: 4;/* マージン広い選択時 */
  }

  header nav ul.nav_2nd{
    padding-top: 20px;
  }
  header nav ul.nav_1st>li:hover ul.nav_2nd{
    padding-top: 15px;
    box-shadow: 2px 2px 5px var(--i_shadow_color);
  }
  header nav ul.nav_2nd>li{
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid var(--i_border_color);
  }
  header nav ul.nav_2nd>li:nth-last-of-type(1){
    border-bottom: none;
  }
  header nav ul.nav_2nd li a{
    padding: 10px 20px;
    font-weight:  normal;
    font-size: 1.4rem;
  }
  header nav ul.nav_2nd>li>a{
    padding-right: 30px;
  }
  header nav ul.nav_2nd>li>a:after{
    height: 5px;
    width: 5px;
    transform: rotate(-45deg);
    border-right: 1px solid var(--i_sub_color);
    border-bottom: 1px solid var(--i_sub_color);
    top: calc(50% - 2.5px);
    right: 20px;
  }
  header nav ul.nav_3rd{
    padding-left: 20px;
  }
  header nav ul.nav_3nd li a{
    padding: 5px 20px;
  }
  header nav ul.nav_3rd>li>a:after{
    height: 1px;
    width: 4px;
    background: var(--i_sub_color);
    top: calc(50% - 0.5px);
    left: 5px;
  }

  @media screen and (max-width: 900px){
    header,
    header *,
    header nav ul.nav_2nd li a{
    }
    body.scrolled header .logo{
      padding: 10px 0 !important;
    }
    header.open:after,
    header .header_contents{
      background: rgba(255, 255, 255, 0.9);
    }
    header .burger li.sp_translate a svg{
      height: 28px;
      width: 28px;
      margin: 10% auto;
    }
    header .header_sns,
    header .header_contents .header_col1,
    header .header_contents .header_col2{
      border-top: 1px solid rgba(255,255,255,0.2);
      border-bottom: 1px solid var(--i_border_color);
    }
    header .header_sns{
      border-bottom: none;
    }
    header .header_sns:empty,
    header .header_contents .header_col1:empty,
    header .header_contents .header_col2:empty{
      border: none;
    }
    header .header_contents .header_col1 .tel,
    header .header_contents .header_col1 .btn{
      float: none;
    }
    header .header_contents .header_col2{
      display: block !important;
    }
    header nav{
      border-bottom: 1px solid var(--i_border_color);
    }
    header nav ul.nav_1st{
      border-bottom: 1px solid rgba(255,255,255,0.2);
      border-top: 1px solid var(--i_border_color);
    }
    header nav ul.nav_1st li{
      border-bottom: 1px solid var(--i_border_color);
      border-top: 1px solid rgba(255,255,255,0.2);
    }
    header nav ul.nav_1st>li:before,
    header nav ul.nav_1st>li:after{
      display: none !important;
    }
    header nav ul.nav_1st>li i:before,
    header nav ul.nav_1st>li i:after{
      background: var(--i_sub_color);
    }
    header nav ul.nav_2nd{
      border-top: 1px solid var(--i_border_color);
    }
    header nav ul.nav_2nd>li{
      box-shadow: none;
    }
    header nav ul.nav_2nd>li *{
      color: #333;
    }
    header nav ul.nav_3rd{
      border-top: 1px solid var(--i_border_color);
    }
    header nav ul.nav_3rd>li:nth-last-of-type(1){
      border-bottom: none;
    }
    header .logo a img{
      max-height: 45px !important;
    }
    header nav ul.nav_1st>li>a:hover:before{
      transform: scale(0, 0);
    }
    header#pattern1 nav, 
    header#pattern3 nav{
      border-bottom: 0;
      border-top: 0;
    }
    header .header_contents .header_col1 .btn > a{
      padding: 6px 15px 8px;
    }
    header nav ul.nav_1st>li>a:hover{
      background: none;
    }
    header nav ul.nav_1st>li>a span{
      color: var(--i_txt_color);
    }
    header#pattern2 nav ul.nav_1st{
      border-bottom: 0px;
    }
  }

  /*----------------------------余白設定----------------------------*/

  main>section:first-child:not([class*="pt"]),
  main>div:first-child:not([class*="pt"]),
  div[class*='pb']+.contents_related,
  section[class*='pb']+.contents_related,
  div[class*='pb']+.contents_related_tags,

  section[class*='pb']+.contents_related_tags{
    padding-top: 60px;
  }
  main>section:not([class*="pt"]),
  main>div:not([class*="pt"]),
  aside>section:not([class*="pt"]),
  aside>div:not([class*="pt"]){
    padding-bottom: 60px;
  }
  @media screen and (max-width: 800px){
    main>section:first-child:not([class*="pt"]),
    main>div:first-child:not([class*="pt"]),
    div[class*='pb']+.contents_related,
    section[class*='pb']+.contents_related,
    div[class*='pb']+.contents_related_tags,
    section[class*='pb']+.contents_related_tags{
      padding-top: 40px;
    }
    main>section:not([class*="pt"]),
    main>div:not([class*="pt"]),
    aside>section:not([class*="pt"]),
    aside>div:not([class*="pt"]){
      padding-bottom: 40px;
    }
  }

  /*----------------------------見出し----------------------------*/

  section .content_wrapper>.heading:first-child:last-child{
    margin-bottom: 0;
  }

  /*--*/

  section:not([class*="pt"]) .content_wrapper>.heading:first-child:last-child{
    margin-bottom: 0;
  }

  .heading.block_header_1,
  .heading.block_header_6{
    margin-bottom: 30px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  .heading.block_header_1 p,
  .heading.block_header_6 .h{
    display: inline-block;
    font-size: 3.6rem !important;
    line-height: 1.4;
    text-transform: uppercase;
    position:relative;
    color: var(--i_main_color);
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding-bottom: 15px;
    margin-bottom: 10px;
  }
  .heading.block_header_1 p:before,
  .heading.block_header_6 .h:before{
    position: absolute;
    display: block;
    content: "";
    border-bottom: 3px double var(--i_main_color);
    width: 60px;
    bottom: 0px;
    height: 3px;
    left: calc(50% - 30px);
    pointer-events: none;
  }
  .heading.block_header_1.align-left p:before,
  .heading.block_header_6.align-left .h:before{
    left: 0;
  }
  .heading.block_header_1.align-right p:before,
  .heading.block_header_6.align-right .h:before{
    right: 0;
    left: auto;
  }
  section[style*="color: #ffffff;"] .heading.block_header_1 p:before,
  section[style*="color: #ffffff;"] .heading.block_header_6 .h:before,
  div[style*="color: #ffffff;"] .heading.block_header_1 p:before,
  div[style*="color: #ffffff;"] .heading.block_header_6 .h:before,
  section[style*="color: rgb(255, 255, 255);"] .heading.block_header_1 p:before,
  section[style*="color: rgb(255, 255, 255);"] .heading.block_header_6 .h:before,
  div[style*="color: rgb(255, 255, 255);"] .heading.block_header_1 p:before,
  div[style*="color: rgb(255, 255, 255);"] .heading.block_header_6 .h:before{
    border-bottom: 3px double #fff;
  }
  section[style*="color: rgb(255, 255, 255);"] .heading.block_header_1 p,
  section[style*="color: rgb(255, 255, 255);"] .heading.block_header_6 .h,
  div[style*="color: rgb(255, 255, 255);"] .heading.block_header_1 p,
  div[style*="color: rgb(255, 255, 255);"] .heading.block_header_6 .h{
    color: #fff !important;
  }
  .heading.block_header_1 .h,
  .heading.block_header_6 p{
    font-weight: 400;
    letter-spacing: 0.2rem;
    font-size: 1.7rem;
    color: var(--i_txt_color);
  }
  @media screen and (max-width: 800px){
    .heading.block_header_1,
    .heading.block_header_6{
      margin-bottom: 20px;
    }
    .heading.block_header_1 p,
    .heading.block_header_6 .h{
      font-size: 2.8rem !important;
    }
    .heading.block_header_1 .h,
    .heading.block_header_6 p{
      font-size: 1.5rem;
    }
    .index .heading.block_header_1 p,
    .index .heading.block_header_6 .h{
      font-size: 2.8rem;
    }
  }

  /*--*/

  .heading.block_header_2{
    margin-bottom: 30px;
  }
  .heading.block_header_2.align-center:before{
    display: none;
  }
  .heading.block_header_2.align-left:before{
    left: 0;
  }
  .heading.block_header_2.align-right:before{
    right: 0;
  }
  .heading.block_header_2 .h{
    display: inline-block;
    font-weight: 400;
    letter-spacing: 0.2rem;
    font-size: 1.9rem;
    line-height: 1.5;
    position: relative;
    padding-left: 20px;
    color: var(--i_txt_color);
  }
  .heading.block_header_2 .h:before,.heading.block_header_2 .h:after{
    display: block;
    content:'';
    position: absolute;
  }
  .heading.block_header_2 .h:before{
    top: .6em;
    left: 0;
    width: 8px;
    height: 8px;
    background: var(--i_main_color);
  }
  .heading.block_header_2 p{
    font-size: 1.4rem;
    padding-left: 20px;
    font-weight: 400;
    letter-spacing: 0.2rem;
    color:  var(--i_txt_color);
  }
  .news_archive .heading.block_header_2,
  .glossary_archive .heading.block_header_2,
  .widget_gallery01 .heading.block_header_2,
  .gallery_archive .heading.block_header_2{
    border: none;
  }
  .widget_gallery01.add_design4 .inner_item .heading.block_header_2{
    padding-left: 2em!important;
  }
  @media screen and (max-width: 800px){
    .heading.block_header_2{
      margin-bottom: 20px;
    }
    .heading.block_header_2 .h{
      font-size: 2.1rem;
    }
  }
  /*用語一覧*/
  .glossary_archive .content_wrapper .heading.block_header_2 .h{
    padding-left: 0 !important;
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;;
  }
  .glossary_archive .content_wrapper .heading.block_header_2 .h a{
    color: var(--i_main_color);
  }
  .glossary_archive .content_wrapper .heading.block_header_2 .h:before,
  .glossary_archive .content_wrapper .heading.block_header_2 .h:after,
  .glossary_archive .content_wrapper .heading.block_header_2:before,
  .glossary_archive .content_wrapper .heading.block_header_2:after{
    display: none !important;
  }

  /*--*/

  .heading.block_header_3{
    overflow: hidden;
    background: var(--i_sub2_color);
    padding: 10px 10px 10px 30px;
    margin-bottom: 30px;
    color: var(--i_main_color);
  }
  .heading.block_header_3 .h{
    font-weight: 400;
    letter-spacing: 0.2rem;
    font-size: 1.9rem;
    line-height: 1.5;
  }
  .heading.block_header_3 p{
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
  }
  @media screen and (max-width: 800px){
    .heading.block_header_3{
      padding: 5px 5px 5px 30px;
      margin-bottom: 20px;
    }
    .heading.block_header_3 .h{
      font-size: 2.0rem;
    }
    .heading.block_header_3 p{
      font-size: 1.3rem;
    }
  }

  /*--*/


  .heading.block_header_4{
    margin-bottom: 15px;
  }
  .heading.block_header_4:before{
    display: none;
  }
  .heading.block_header_4 .h{
    font-size: 2.0rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    line-height: 1.5;
    margin-bottom: 5px;
    color: var(--i_btn_color);
  }
  .heading.block_header_4 p{
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
  }

  /*--*/

  .heading.block_header_5{
    margin-bottom: 15px;
  }
  .heading.block_header_5 .h{
    display: inline;
    font-weight: 400;
    letter-spacing: 0.2rem;
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .heading.block_header_5 p{
    display: inline;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
  }
  .heading.block_header_5 p:before{
    content: "　/　";
  }
  #sidebar .heading.block_header_5{
    background:  var(--i_sub2_color);
    color:var(--i_sub_color);
    padding: 5px 15px;
  }

  /*----------------------------背景パララックス----------------------------*/

  .parallax{
    box-shadow: 0 0 5px var(--i_shadow_color) inset;
  }

  /*----------------------------ボタン----------------------------*/

  .contents_btn01 a,
  .glossary_archive .content_wrapper .heading.block_header_2 a:after{
    color: #800880 !important;
    border: 1px solid var(--i_btn_color);
    background: transparent;
    position: relative;
    display: inline-block;
    text-align: center;
    font-family: inherit;
    transition: 0.4s ease-in-out;
    letter-spacing: 0.2rem;
  }
  main form .submit span input{
    border: 1px solid var(--i_btn_color);
    background: transparent;
    color: #800880 !important;
    position: relative;
    display: inline-block;
    text-align: center;
    font-family: inherit;
    letter-spacing: 0.2rem;
    transition: 0.4s ease-in-out;
  }
  main form .submit{
    position: relative;
  }
  .contents_btn01 a:hover,
  .glossary_archive .content_wrapper .heading.block_header_2 a:hover:after,
  main form .submit span input:hover{
    background: var(--i_btn_hover_color);
    color: #fff !important;
  }
  .contents_btn01 a[target=_blank] span:before,
  .contents_btn01 a[target=_blank] span:after{
    border: 1px solid #800880;
  }
  .contents_btn01 a:hover[target=_blank] span:before,
  .contents_btn01 a:hover[target=_blank] span:after{
    border: 1px solid #fff;
  }
  .contents_btn01 a span{
    text-align: center;
    font-size: 1.5rem;
    padding: 10px 25px 9px;
  }
  input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea{
    -webkit-appearance: none;
    border-radius: 0;
  }
  .contents_faq01.accordion .mymore a{
    padding: 0 0 3px;
  }
  .contents_faq01.accordion .mymore a:hover{
    opacity: 0.8;
  }

  /*--------------------------------MV--------------------------------*/

  #mv_outer{
    /*mvに背景とかはここを利用する*/
    position: relative;
    padding-bottom: 50px;
  }
  #mv_outer:before{
    position: absolute;
    display: block;
    content: "";
    width: 85%;
    height: 65%;
    bottom: 0;
    left: 0;
    background: #f3f1ec;
    pointer-events: none;
  }
  #mv{
    width: 100%;
    margin-right: 0;
    height: 72vh;
    min-height: 500px;
  }
  #mv:after{
    /*スライドに重ねる色*/
    pointer-events: none;
    background: rgba(0, 0, 0, 0.3);
  }
  #mv .mv_text{
    height: 80%;
    align-items: flex-end;/*垂直方向中央*/
    /*text-shadow: 0 0 5px var(--i_shadow_color);*/
    width: 100% !important;
    left: 0 !important;
    bottom: 10% !important;
  }
  #mv .mv_text>div{
    max-width: none !important;
    box-sizing: border-box;
    width: 95%;
    color: #fff;
  }
  #mv .mv_text h2{
    font-size: 60px;/* ←max-font-size的意味合いで使用する。動作はjs。*/
    line-height: 1.1;
    letter-spacing: 0.5rem;
    font-weight: 500;
    font-size: 3.5rem !important;
    position: relative;
  }
  #mv .mv_text p{
    padding-top: 15px;
    font-size: 1.9rem;	
    font-weight: 500;
    letter-spacing: 0.4rem;
  }
  #mv .mv_pointer{
    width: 90%;
    position: absolute;
    bottom: -33px;
    left: 0;
    padding: 0;
    padding-left: 2.5%;
    text-align: left;
  }
  #mv .mv_pointer li{
    width: 5px !important;
    height: 30px;
    margin: 0 40px 0 0;
    border-radius: 50px;
  }
  #mv .mv_pointer li:last-of-type{
    margin: 0;
  }
  #mv .mv_pointer li::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-top: 10px;
    background: rgba(180, 180, 180, 0.5);
    border-radius: 50px;
  }
  #mv .mv_pointer li.current{
    width: 5px !important;
  }
  #mv .mv_pointer li.current:before{
    background: rgba(180, 180, 180, 0.9);
  }
  #mv .mv_scroll {
    width: 3px;
    height: auto;
    position: absolute;
    left: -2.5%;
    bottom: 0;
  }
  #mv .mv_scroll a{
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    font-family: 'Playfair', serif;
    font-weight: 300;
    letter-spacing: 0.3em;
    font-size: 12px;
    position: relative;
    padding-bottom: 100px;
    height: auto;
    width: auto;
    text-indent: 0;
    potision: relative;
    transition: all .3s ease-in-out;
    text-align: right;
    color: var(--i_txt_color);
  }

  #mv .mv_scroll a::before {
    width: 1px;
    height: 70px;
    transform: none;
    position: absolute;
    bottom: 0;
    left: 1px;
    top: auto;
    background: var(--i_txt_color);
    transition: all .3s ease-in-out;
  }
  #mv .mv_scroll a:hover{
    padding-bottom: 80px;
  }
  #mv .mv_scroll a:hover::before{
    height: 50px;
  }
  #mv .mv_scroll a:hover::after{
    height: 25px;
  }
  #mv .mv_arrow {
    display: none;
  }
  @media screen and (min-width: 901px){
    #mv_outer{
      padding-top: 15px;
    }
  }
  @media screen and (max-width: 100vh){
    #mv{
      height: 72vh;
    }
  }
  @media screen and (max-width: 900px){
    #mv_outer{
      padding-top: 0;
    }
    #mv .mv_scroll{
      display: none;
    }
  }
  @media screen and (max-width: 600px){
    #mv .mv_text h2{
      line-height: 1.5;
      font-size: 5.6vw !important;
      letter-spacing: 0.2rem;
    }
    #mv .mv_text p{
      letter-spacing: 0.1rem;
      font-size: 1.55rem;
      padding-top: 10px;
    }
    #mv .mv_text > div{
      width: 90%;
    }
    #mv .mv_pointer{
      padding-left: 5%;
      bottom: -23px;
    }
    #mv_outer{
      padding-bottom: 30px;
    }
  }

  /*--------------------------------IV--------------------------------*/

  #lv{
    background: #333;
    height: 250px;
    padding-bottom: 0;
    width: 100%;
  }
  #lv_outer{
    /*mvに背景とかはここを利用する*/
    position: relative;
  }
  header.over+#lv_outer #lv{
    min-height: 300px;
  }
  #lv div{
    opacity: 0.5;
  }
  #lv p{
    left: 0;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px 0;
  }
  #lv p span{
    display: inline-block;
    font-size: 4.0rem;
    font-weight: 500;
    text-align: center;
    position: relative;
    word-break: break-all;
    line-height: 1.2;
    letter-spacing: 0.4rem;
    color: #fff;
  }
  @media screen and (min-width: 901px){
    #lv_outer{
      padding-top: 15px;
    }
  }
  @media screen and (max-width: 800px){
    #lv{
      height: 200px;

    }
    #lv p span{
      font-size: 2.8rem;
    }
  }

  /*----------------------------パンくず----------------------------*/

  #pan{
    padding: 0;
    border-bottom: 1px solid var(--i_border_color);
  }


  #pan li{
    font-size: 1.2rem;
    padding: 5px 0 3px 30px;
  }
  #pan li:before,
  #pan li:after{
    border-top: 1px solid var(--i_border_color);
    border-right: 1px solid var(--i_border_color);
  }

  /*----------------------------other parts----------------------------*/

  /*--リスト--*/

  .default_ul li:before{
    border-top: 1px solid var(--i_sub_color);
    border-right: 1px solid var(--i_sub_color);
    height: 5px;
    width: 5px;
    transform: rotate(45deg);
    top: 8px;
    left: 0;
  }

  /*--アーカイブページ カテゴリー--*/

  .category1 li a{
    border: 1px solid var(--i_sub2_color);
    border-radius: 50px;
    color: var(--i_main_color);
    font-size: 1.4rem;
  }
  .category1 li a:hover,
  .category1 li a.current{
    background: var(--i_sub2_color);
  }

  /*--sidebar--*/

  #sidebar section,
  #sidebar>div{
    border-bottom: 1px solid var(--i_border_color);
  }
  #sidebar h2{
    text-align: left;
    font-size: 2.2rem;
  }
  #sidebar .sidebar_tag li{
    border: 1px solid var(--i_border_color);
    background: var(--i_sub2_color);
  }
  #sidebar .sidebar_list a{
    position: relative;
    padding-left: 15px;
  }
  #sidebar .sidebar_list a:before{
    content: "";
    display: block;

    position: absolute;
    border-top: 1px solid var(--i_sub_color);
    border-right: 1px solid var(--i_sub_color);
    height: 5px;
    width: 5px;
    transform: rotate(45deg);
    top: calc(50% - 3px);
    left: 0;
  }

  /*----------------------------pager----------------------------*/

  /*アーカイブページページャー*/

  .pager li a{
    height: 45px;
    width: 45px;
    line-height: 45px;
    border: 1px solid var(--i_sub2_color);
    font-size: 1.4rem;
    color: var(--i_main_color);
  }
  .pager li:not(.arrow) a:hover,
  .pager li:not(.arrow).current a{
    background: var(--i_sub2_color);
  }
  .pager li.arrow a{
    background: none;
  }

  /*----------------------------pager2----------------------------*/

  /*シングルページページャー*/
  .pager2 li a{
    border: 1px solid var(--i_sub2_color);
    color: var(--i_main_color);
    line-height: 45px;
    padding: 0 15px;
    font-size: 1.4rem;
  }
  .pager2 li a:hover{
    background: var(--i_sub2_color);
  }

  /*----------------------------popup----------------------------*/

  /*画像ポップアップ拡大表示*/
  .popup{
    background: rgba(255,255,255,0.7);
  }
  .popclose{
    color: var(--i_main_color);
  }
  .popnav li{
    background: var(--i_main_color);
  }
  .poptxt{
    font-size: 1.2rem;
  }

  /*----------------------------footer----------------------------*/

  #fixbtn{
    margin-bottom: 30px;
    font-size: 1.55rem;
  }
  #fixbtn .fixbtnwrap{
    background: rgba(255, 255, 255, 0.9);
    border-top: 1px solid var(--i_border_color);
    border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
  }
  /*▼ TEL、予約ボタンない = 追従フッター有効でない場合*/
  #fixbtn.no .fixbtnwrap{
    background-color: transparent;
  }
  #fixbtn .fixbtntel,
  #fixbtn .fixbtntel a,
  #fixbtn .fixbtntel span{
  }
  #fixbtn .fixbtntel{
    border-right: 1px solid var(--i_border_color);
  }
  #fixbtn .fixbtntel:nth-last-of-type(2){
    border-right: none;
  }
  #fixbtn .fixbtntel a,
  #fixbtn .fixbtntel span{
    font-size: 3.4rem;
    line-height: 1;
    margin-right: 10px;
  }
  #fixbtn .contents_btn01 a:hover{
    transform: none;
  }
  #fixbtn .fixbtntel a:last-child,
  #fixbtn .fixbtntel span:last-child{
    margin-right: 0;
  }
  #fixbtn .fixbtntel svg{
    width: 22px;
    height: 22px;
    margin-right: 5px;
    fill: #333;
  }
  #fixbtn .contents_btn01{
    border-left: 1px solid rgba(255,255,255,0.1);
  }
  #fixbtn .contents_btn01:nth-of-type(1){
    border-left: none;
  }
  #fixbtn .contents_btn01:nth-of-type(1){
    /*▼ TELない場合中央揃え*/
    margin-left: auto;
    margin-right: auto;
  }
  #fixbtn .contents_btn01 span{
    text-align: center;
    padding: 10px 20px 10px;
  }
  #fixbtn .contents_btn01 a{
    background: var(--i_main_color);
    border: 0;
    color: #fff !important;
  }
  #fixbtn .contents_btn01 a:hover{
    opacity: 0.7;
  }
  #fixbtn .contents_btn01 a:before,
  #fixbtn .contents_btn01 a:after{
    display: none;
  }
  /*▼ TEL、予約ボタンない = 追従フッター有効でない場合*/
  #fixbtn #scrolltop:nth-of-type(1){
    margin-left: auto;
    /*▼ 右揃え*/
    margin-right: 0;
    /*▼ 中央揃え*/
    margin-right: auto;
  }
  #fixbtn #scrolltop a{
    height: 40px;
    width: 40px;
  }
  #fixbtn #scrolltop a:before{
    top: 17px;
    left: 3px;
    transform: rotate(45deg);
    transition: 0.2s ease-in-out;
    border-left: 2px solid #333;
    border-top: 2px solid #333;
    width: 30px;
    height: 30px;

  }
  #fixbtn #scrolltop a:hover:before{
    opacity: 0.7;
  }
  /*▼ TEL、予約ボタンない = 追従フッター有効でない場合*/
  #fixbtn.no #scrolltop a:before{
    border-color: rgba(120,120,120,0.6) ;
  }
  #fixbtn.no #scrolltop a:hover:before{
    border-left: 2px solid rgba(120,120,120,1);
    border-top: 2px solid rgba(120,120,120,1);
  }

  @media screen and (max-width: 600px){
    #fixbtn{
      margin-bottom: 0;
    }
    #fixbtn,
    #fixbtn .fixbtntel a,
    #fixbtn .fixbtntel span{
      font-size: 1.7rem;
      margin: 0;
    }
    #fixbtn .fixbtntel a,
    #fixbtn .fixbtntel span{
      font-size: 2rem;
      color: #333 !important;
    }
    #fixbtn .fixbtntel svg{
      width: 18px;
      height: 18px;
    }
    #fixbtn .contents_btn01 a{
      padding: 0;
      letter-spacing: 0;
    }
    #fixbtn .contents_btn01 a:before{
      display: none;
    }
    #fixbtn .contents_btn01 a span{
      padding: 7px 15px 8px;
    }
  }
  footer{
    background: #fff;
    padding: 0;
    color: #333;
    text-align: center;
    font-size: 1.35rem;
  }
  footer a{
    color: #333;
  }
  footer nav li{
    letter-spacing: 0.2rem;
    padding: 5px 0;
  }
  footer nav li a{
    font-weight: 500 !important;
    font-size: 1.45rem;
  }
  footer .logo{
    width: 200px;
  }
  footer .sns{
    margin: 0 auto 30px;
  }
  footer .sns svg{
    width: 40px;
    height: 40px;
    padding: 10px 10px;
    fill: #333;
    transition: 0.2s ease-in-out;
  }
  footer .sns a:hover svg{
    opacity: 0.8;
  }
  #cp{
    padding: 10px 0;
    font-size: 1.1rem;
    letter-spacing: 0.1rem;
    text-align: center;
    color: var(--i_txt_color);
  }
  @media screen and (max-width: 600px){
    footer{
      padding: 0 0 20px;
    }
  }
  @media screen and (max-width: 600px){
    footer{
      background-position: center;
    }
    footer nav ul{
      border-bottom: 1px solid rgba(0, 0, 0,0.13);
    }
    footer nav ul li{
      border-top: 1px solid rgba(255,255,255,0.1);
      border-bottom: 1px solid rgba(0, 0, 0,0.13);
    }
    footer nav ul li:nth-last-of-type(2n){
      border-right: 1px solid rgba(0, 0, 0,0.13);
    }
    footer nav ul li:nth-last-of-type(2n+1){
      border-left: 1px solid rgba(255,255,255,0.1);
    }
    footer nav ul li:nth-of-type(1),
    footer nav ul li:nth-of-type(1),
    footer nav ul li:nth-of-type(2),
    footer nav ul li:nth-of-type(3):nth-last-of-type(2n-1){
      border-top: 1px solid rgba(0, 0, 0,0.13);
    }
    footer nav ul li:nth-last-of-type(1),
    footer nav ul li:nth-last-of-type(2){
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    footer .logo{
      width: 140px;
    }
    #fixbtn .fixbtnwrap{
      border-bottom: none;
    }
    #fixbtn .inner{
      padding: 0;
    }
  }

  /*------------------------------------------------------------------*/
  /*----------------------------widget--------------------------------*/
  /*------------------------------------------------------------------*/

  /*----------------------------contents_faq01----------------------------*/

  .contents_faq01 dt{
    padding-left: 5rem;
    margin-bottom: 25px;
    min-height: 35px;
    width: 100%;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .contents_faq01 dd{
    padding-left: 7.3rem;
    margin-bottom: 15px;
    width: 100%;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .contents_faq01 dt:before,
  .contents_faq01 dd:before{
    width: 4rem;
    height: 4rem;
    font-size: 2.6rem;
    line-height: 1;
    box-sizing: border-box;
    font-weight: 500;
    color: #FFF;
    background: var(--i_main_color);
    border: 1px solid var(--i_main_color);
    text-align: center;
  }
  .contents_faq01 dd:before{
    font-size: 3rem;
    line-height: 1.05;
    color: var(--i_main_color);
    background: none;
  }

  /*----------------------------contents_related_tags----------------------------*/

  .contents_related_tags .inner_item{
    border: 1px solid var(--i_border_color);
  }
  .contents_related_tags .inner_item:hover{
    background: var(--i_sub2_color);
  }
  .contents_related .inner_item a:hover{
    background: var(--i_sub2_color);
    opacity: 0.8;
  }

  /*----------------------------block_table_1----------------------------*/

  .block_table_1 table thead{
    background: var(--i_sub2_color);
  }
  .block_table_1 table thead th,
  .block_table_1 table thead td{
    background-color: var(--i_sub2_color);
  }
  .block_table_1 table th{
    background-color: var(--i_sub2_color);
    border: 1px solid var(--i_border_color);
    text-align: center;
    vertical-align: middle;
  }
  .block_table_1 table td{
    background-color: #fff;
    border: 1px solid var(--i_border_color);
    vertical-align: middle;
  }
  .block_table_1 table thead td{
    text-align: center;
    font-weight: bold;
  }

  /*----------------------------block_table_2,5,6----------------------------*/

  .block_table_2 table thead,
  .block_table_2 table thead th,
  .block_table_2 table thead td,
  .block_table_5 table thead,
  .block_table_5 table thead th,
  .block_table_5 table thead td,
  .block_table_6 table thead,
  .block_table_6 table thead th,
  .block_table_6 table thead td{
    background-color: var(--i_sub2_color);
  }
  .block_table_2 table th,
  .block_table_5 table th,
  .block_table_6 table th{
    background-color: var(--i_sub2_color);
    border: 1px solid var(--i_border_color);
    text-align: center;
    vertical-align: middle;
  }
  .block_table_2 table td,
  .block_table_5 table td,
  .block_table_6 table td{
    background-color: var(--i_bg_color);
    border: 1px solid var(--i_border_color);
    vertical-align: middle;
  }
  .block_table_2 table thead td,
  .block_table_5 table thead td,
  .block_table_6 table thead td{
    text-align: center;
    font-weight: bold;
  }
  @media screen and (max-width: 500px){
    .block_table_2 table{
      border-bottom: 1px solid var(--i_border_color);
    }
    .block_table_2 table th{
      border-top: 1px solid var(--i_border_color);
    }
    .block_table_2 table td{
      border-top: 1px dotted var(--i_border_color);
    }
  }

  /*----------------------------block_table_3----------------------------*/

  .block_table_3 table thead,
  .block_table_3 table thead th,
  .block_table_3 table thead td,
  .block_table_7 table thead,
  .block_table_7 table thead th,
  .block_table_7 table thead td{
    background-color: var(--i_sub2_color);
  }
  .block_table_3 table th,
  .block_table_7 table th{
    background-color: var(--i_sub2_color);
    border: 1px solid var(--i_border_color);
    text-align: center;
    vertical-align: middle;
  }
  .block_table_3 table td,
  .block_table_7 table td{
    background-color: var(--i_bg_color);
    border: 1px solid var(--i_border_color);
    vertical-align: middle;
  }
  @media screen and (max-width: 500px){
    .block_table_3 table{
      border-bottom: 1px solid var(--i_border_color);
    }
    .block_table_3 table th{
      border-top: 1px solid var(--i_border_color);
    }
    .block_table_3 table td{
      border-top: 1px dotted var(--i_border_color);
    }
  }
  .block_table_3_item li{
    vertical-align: middle;
  }

  /*----------------------------gallery_archive / gallery_single----------------------------*/

  .gallery_archive .inner_item a,
  .gallery_single .inner_item a{
    transition: 0.2s ease-in-out;
    background-color: transparent;
  }
  .gallery_archive .inner_item a:hover,
  .gallery_single .inner_item a:hover{
    background-color: #604300;
  }
  .gallery_archive .inner_item a:hover img,
  .gallery_single .inner_item a:hover img{
    opacity: 0.8;
  }
  .gallery_archive .inner_item a:after,
  .gallery_single .inner_item a:after{
    color: #fff;
  }
  .gallery_archive .inner_item p span,
  .gallery_single .inner_item p span{
    color: #fff;
  }
  .gallery_single_slider .slick-arrow::before{
    border-color: var(--i_btn_color);
  }

  /*----------------------------widget_gallery01----------------------------*/

  .widget_gallery01 .slick-arrow{
    height: 40px;
    width: 30px;
    top: calc(50% - 20px);

    left: 0;
  }
  .widget_gallery01 .slick-next{
    left: auto;
    right: 0;
  }

  /*----------------------------gallery hover効果----------------------------*/

  main .widget_gallery01 a,
  main .gallery_archive .inner_item a,
  main .gallery_single .inner_item a{
    overflow: hidden;
  }
  main .widget_gallery01 a img,
  main .gallery_archive .inner_item a img,
  main .gallery_single .inner_item a img{
    /*▼ 位置調整 美容院などの人物の場合は50% 30%あたり*/
    object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;';
    backface-visibility: visible;
    transition: 1s ease-out !important;
    transition-property: transform opacity !important;
    transform: scale(1.001,1.001);
  }
  main .widget_gallery01 a:hover img,
  main .gallery_archive .inner_item a:hover img,
  main .gallery_single .inner_item a:hover img{
    transform: scale(1.1,1.1);
    opacity: 0.8;
  }

  /*----------------------------news_archive----------------------------*/

  .news_archive article .inner_item_img:hover{
    opacity: 0.8;
  }
  .news_archive article .entry_meta{
    font-size: 1.3rem;
  }
  .add_design5 #primary article .inner_item_img a i:nth-last-child(1){
    background-size: 50%!important;
  }
  #sidebar .widget_news02 li a div span i{
    background-size: 50%!important;
  }

  /*----------------------------widget_coupon----------------------------*/

  .widget_coupon .content_wrapper{
    max-width: 900px !important;
  }
  .widget_coupon .inner_item>div,
  .widget_coupon .inner_item>dl{
    font-size: 1.4rem;
    line-height: 1.7;
  }

  /*----------------------------widget_form----------------------------*/

  .widget_form .privacypolicy{
    border: 1px solid var(--i_border_color);
  }
  .widget_form form{
    border-top: 1px solid var(--i_border_color);
  }
  .widget_form form dl{
    border-bottom: 1px solid var(--i_border_color);
  }
  .widget_form form dt,
  .widget_form form dd{
    vertical-align: middle;
  }
  .widget_form form dt span{
    color: var(--i_sub2_color);
    color: #D43B3B !important;
    font-size: 1.2rem;
    font-weight: bold;

  }
  @media screen and (max-width: 770px){
    .widget_form form dt{
      border-bottom: 1px dotted var(--i_border_color);
    }
  }
  main form dl input,
  main form textarea{
    background: var(--i_sub2_color);
    border: 1px solid transparent;
    letter-spacing: 1px;
  }
  main form dl input:focus,
  main form textarea:focus{
    background: #fff;
    border: 1px solid var(--i_border_color);
  }
  main form .submit input{
    letter-spacing: 3px;
    border: none;
  }
  main form select{
    background: var(--i_bg_color);
    border: 1px solid var(--i_border_color);
    letter-spacing: 1px;
  }
  main form input[type=radio] + label,
  main form input[type=checkbox] + label{
    padding: 0 15px 0 22px;
  }
  main form input[type=radio] + label::before,
  main form input[type=checkbox] + label::before{
    top: 50%;
    left: 0;
    width: 17px;
    height: 17px;
    margin-top: -9px;
    background: var(--i_sub2_color);
  }
  main form input[type=radio] + label::before{
    border-radius: 30px;
  }
  main form input[type=radio]:checked + label::after,
  main form input[type=checkbox]:checked + label::after{
    left: 4px;
    width: 9px;
    height: 9px;
    margin-top: -5px;
    background: #604300 !important;
  }
  main form input[type=radio]:checked + label::after{
    border-radius: 100%;
  }

  /*----------------------------widget_link----------------------------*/

  .widget_link .inner_item_txt{
    font-size: 2rem;
  }
  .widget_link .inner_item_url{
    color: #604300 !important;
  }
  .widget_link.block_link_1 .wrapper_item a{
    border-left: 1px solid #604300 !important ;
  }

  /*----------------------------widget_lp01----------------------------*/

  .widget_lp01 li a:hover{
    opacity: 0.8;
  }
  .widget_lp01 li a div span{
    background-size: 60% auto;
  }

  /*----------------------------widget_menu01----------------------------*/

  .widget_menu01 h3{
    vertical-align: central;
    font-size: 1.7rem;
    letter-spacing: 1px;
    margin-bottom: 15px;
  }
  .widget_menu01 li dd{
    font-size: 1.3rem;
    letter-spacing: 0;
  }

  /*----------------------------widget_menu02----------------------------*/

  .widget_menu02 h3{
    vertical-align: central;
    font-size: 1.7rem;
    letter-spacing: 1px;
  }
  .widget_menu02 li>p{
    font-size: 1.3rem;
    letter-spacing: 0;
  }

  /*----------------------------widget_news02----------------------------*/

  .block_news_2 li{
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.05) !important;
  }
  .block_news_2 li a{
    padding: 30px;
  }
  .block_news_2 li a:after{
    border: 0 solid #f3f1ec !important;
  }
  .block_news_2 li a:hover:after{
    border-width: 10px !important;;
  }
  .block_news_2 li:nth-child(2n) {
    background: #fff !important;
  }

  /*----------------------------widget_shop01----------------------------*/

  .widget_staff01 .inner_item a:hover *{
    opacity: 0.8;
  }
  .widget_staff01 .sub{
    font-size: 1.2rem;
    font-weight: bold;
  }

  /*----------------------------widget_tel----------------------------*/

  .widget_tel .inner_item_tel a,
  .widget_tel .inner_item_tel span{
    font-size: 3.6rem;
    letter-spacing: 0.1rem;
    line-height: 1.1;
    padding: 20px;
  }
  @media screen and (max-width: 450px){
    .widget_tel .inner_item_tel a,
    .widget_tel .inner_item_tel span{
      font-size: 2.6rem;
      padding: 15px 10px;
    }
    .widget_tel .inner_item_tel img{
      margin: 0 5px -2px 0;
    }
    .widget_tel .inner_item_tel svg{
      height: 16px;
      width: 16px;
    }
  }

  /*------------------glossary_archive------------------------*/

  .glossary_archive .content_wrapper article{
    margin-bottom: 30px;
    padding-bottom: 30px;/*★1*/
  }
  .glossary_archive .content_wrapper .heading.block_header_2{
    margin-bottom: 10px;
  }
  .glossary_archive .content_wrapper .heading.block_header_2 .h{
    font-size: 1.8rem;
  }
  .glossary_archive .content_wrapper .heading.block_header_2 .h:after{
    top: 1em;
  }
  .glossary_archive .content_wrapper .heading.block_header_2 a:after{
    content: "View More";
    position: absolute;
    width: 150px;
    bottom: 32px;/*★1 + 数px*/
    right: 0;
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
    padding: 3px 10px;
  }
  .glossary_archive .content_wrapper article .entry_body{
    padding-right: 180px;
  }

  @media screen and (max-width: 1224px){
    .glossary_archive .content_wrapper .heading.block_header_2 a:after{
      bottom: calc(32px + 1.8rem);/*★1 + 数px*/
    }
  }
  @media screen and (max-width: 650px){
    .glossary_archive .content_wrapper article{
      padding-bottom: 60px;
    }
    .glossary_archive .content_wrapper .heading.block_header_2 a:after{
      bottom: 30px;/*★1*/
    }
    .glossary_archive .content_wrapper article .entry_body{
      padding-right: 0;
    }
  }

  /*------------------recruit------------------------*/

  .recruit_archive.add_design1 .recruitment_list .inner_item{
    background: rgba(255,255,255,.8);
  }

  .index main>section:first-child +div.composite_box01 .heading.block_header_4 .h,
  .index main>section:first-child +div+div.composite_box01 .heading.block_header_4 .h{
    font-size: 2.5rem;
    letter-spacing: 0.1rem;
  }
  @media screen and (max-width: 800px){
    .index main>section:first-child +div.composite_box01 .heading.block_header_4 .h,
    .index main>section:first-child +div+div.composite_box01 .heading.block_header_4 .h{
      font-size: 2.1rem;
    }
  }

  /*------------------blog------------------------*/

  .block_news_2 li{
    box-shadow: none;
    border: 1px solid var(--i_border_color);
  }

  /*------------------t_bg------------------*/

  #t_bg+section .parallax_img{
    opacity: 0.5;
    filter: brightness(70%) blur(8px) contrast(110%);
  }
  #t_bg+section>.content_wrapper{
    background: rgba(255, 255, 255, 0.95) !important;
    padding: 60px 60px 60px;
  }
  @media screen and (max-width: 1200px){
    #t_bg+section>.content_wrapper{
      padding: 60px 2% 60px;
      width: calc(100% - 30px);
    }
  }

  /*------------------2カラム------------------*/

  a[id^="ct"]+section .heading.block_header_2 .h{
    padding-left: 0;
    display: inline-block;
    line-height: 1.4;
    color: var(--i_main_color);
    font-size: 3.6rem !important;
  }
  a[id^="ct"]+section .heading.block_header_2 p{
    padding-left: 0;
    font-size: 1.7rem;
    color: var(--i_main_color);
    letter-spacing: 0.2rem;
  }
  a[id^="ct"]+section .heading.block_header_2 .h:before,
  a[id^="ct"]+section .heading.block_header_2 .h:after{
    display: none;
  }
  @media screen and (max-width: 800px){
    a[id^="ct"]+section .heading.block_header_2 .h{
      font-size: 2.5rem !important;
    }
    a[id^="ct"]+section .heading.block_header_2 p{
      font-size: 1.5rem;
    }
  }
  #ct+section:before{
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: var(--i_sub2_color);
    pointer-events: none;
  }
  @media screen and (max-width: 900px){
    #ct+section:before{
      width: 80%;
    }
  }
  #ct1+section{
    margin-top: 80px;
  }
  #ct1+section:before{
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    width: 40%;
    height: 100%;
    background: var(--i_sub2_color);
    pointer-events: none;
  }
  @media screen and (max-width: 900px){
    #ct1+section:before{
      width: 80%;
    }
    #ct1+section{
      margin-top: 65px;
    }
  }

  /*------------------btn中央寄せ------------------*/

  @media screen and (max-width: 950px){
    .index .contents_box01 .inner_item_txt .contents_btn01{
      text-align: center;
    }
  }

  /*------------------ft調整------------------*/

  @media screen and (min-width: 701px){
    footer nav:nth-last-child(2),
    footer .logo{
      margin-bottom: 0 !important;
    }
    footer .logo a{
      max-width: 80% !important;
    }
  }

  /*------------------画像無し×テキスト------------------*/

  #txt+div .inner_item_txt{
    background: var(--i_sub2_color);
  }
  #txt+div .inner_item > a:hover + .inner_item_txt{
    background: #fff;
  }
  #txt+div *{
    color: #333 !important;
  }
  #txt+div .heading.block_header_4 .h{
    font-size: 3.6rem !important;
    color: #604300 !important;
  }
  #txt+div .heading.block_header_4 p{
    font-size: 1.7rem;
  }
  @media screen and (max-width: 800px){
    #txt+div .heading.block_header_4 .h{
      font-size: 2.5rem !important;
    }
    #txt+div .heading.block_header_4 p{
      font-size: 1.5rem;
    }
  }
  @media screen and (min-width: 901px){
    #txt + div .inner_item:first-of-type{
      border-right: 1px solid var(--i_border_color);
    }
    #txt + div .inner_item_txt{
      padding: 20% 20%;
    }
    #txt + div .heading.block_header_5{
      margin-bottom: 55px;
    }
  }
  @media screen and (max-width: 900px){
    #txt + div .inner_item:first-of-type{
      border-bottom: 1px solid var(--i_border_color);
    }
  }
  /*--------------フッター追従外部リンクカラー変更------------------------*/
  .fixbtnwrap .contents_btn01 a[target=_blank] span:before,
  .fixbtnwrap .contents_btn01 a[target=_blank] span:after{
        border: 1px solid #fff;
  }