@charset "UTF-8";
/************/
/*切り替え用*/
/************/
.pc {
  display: block;
}

.sp {
  display: none;
}

/*===============================================
  画面の横幅が767px以下に適用
===============================================*/
@media screen and (max-width: 767px) {
  /************/
  /*切り替え用*/
  /************/
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  /****パンくず****/
  .bread {
    height: 36px;
    padding-top: 10px;
  }
  .bread .breadcrumbs {
    width: 90%;
  }
  .bread .breadcrumbs li{
    font-size: 1.3rem;
  }
  
  /**100%**/
  header,
  header nav ul,
  address div,
  .container img,
  footer img,
  #wrapper {
    width: 100%;
  }
  
  #wrapper {
    overflow: hidden;
  }
  /****header*****/
  header{
    padding: 16px 0 20px;
  }
  header::before{
    width: 60%;
    -webkit-transform: skewX(-24.57deg);
          transform: skewX(-24.57deg);
  }
  header .header {
    width: 90%;
    display: block;
    margin-bottom: 16px;
  }
  header .logo{
    padding-bottom: 0;
    width: 210px;
  }
  header .ri{
    display: none;
  }
  
  /****メイン画像*****/
  .main_bg{
    width: 100%;
    min-width: auto;
    padding-top: 76%;
  }
  .main_bg .slide{
    width: 94%;
    height: 0;
    padding-top: 60%;
  }
  .main_bg .slide::before{
    width: 22.6%;
    height: 0;
    padding-top: 21.5%;
  }
  .main_bg .slide::after{
    width: 91.1%;
    height: 0;
    padding-top: 20.5%;
  }
  .main_bg .slide .catch{
    width: 104%;
    bottom: 5px;
  }
  .main_bg .slide #slideshow{
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    margin: 5px;
  }
  header .message {
    font-size: 1.6rem;
    padding: 1em 2em;
  }
  header .message .pc-none {
    display: inline;
  }
  
  /****サブ画像*****/
  .main_bgs{
    width: 100%;
    height: 180px;
  }
  .main_bgs dl{
    width: 94%;
    max-width: 514px;
    min-width: inherit;
  }
  .main_bgs dl dt{
    font-size: 5.3rem;
  }
  .main_bgs dl dt .blo{
    padding-left: 48px;
    padding-bottom: 4px;
  }
  .main_bgs dl dt .blo::before{
    width: 86px;
    height: 70px;
    left: -21px;
    bottom: -4px;
  }
  .main_bgs dl dd{
    height: 50px;
    font-size: 1.85rem;
    letter-spacing: .04em;
  }
  .main_bgs dl dd::after{
    width: 50px;
  }
  
  /******共通*****/
  #container {
    font-size: 1.45rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  /*******/
  .g-nav, .h1_bg {
    display: none;
  }
  table,
  table tbody,
  table th,
  table tr,
  table td {
    display: block !important;
    width: 100% !important;
  }
  table tr{
    border-bottom-width: 2px;
  }
  table tr th{
    padding: 10px 12px;
    text-align: left;
    border-right: none;
  }
  table tr td{
    padding: 10px 12px;
  }
  .cont {
    width: 90%;
  }
  .fle{
    display: block;
  }
  .btn{
    width: 220px;
    height: 50px;
  }
  .btn a{
    border-width: 3px;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    text-decoration: none !important;
  }
  div[class^="contents"],
  article[class^="contents"] {
    padding: 50px 0;
  }
  div.contents1,
  article.contents1{
    padding-top: 35px;
  }

  .h2_1{
    font-size: 2.1rem;
    line-height: 1.45;
    letter-spacing: 0.02em;
    margin-top: -5px;
    margin-bottom: 25px;
  }
  
  /**************shop********************/
  .shop .contents1 .table{
    margin-bottom: 30px;
  }
  .shop .contents1 .map{
    height: 230px;
  }

  /**************flow********************/
  .flow .contents1 .box{
    width: 100%;
    height: auto;
    border-width: 6px;
    margin-bottom: 20px;
  }
  .flow .contents1 .box:last-of-type{
    margin-bottom: 0;
  }
  .flow .contents1 .box h3{
    height: 80px;
    padding-bottom: 6px;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    margin-bottom: 25px;
  }
  .flow .contents1 .box h3::before{
    width: calc(100% + 12px);
    height: calc(100% + 6px);
    top: -6px;
    left: -6px;
  }
  .flow .contents1 .box h3::after{
    border: solid 16px transparent;
    border-top: solid 12px #f8df06;
  }
  .flow .contents1 .box .text{
    padding: 0 12px 20px;
  }
  .flow .contents1 .box p:not(.min){
    margin-bottom: 15px;
    text-align: left;
  }
  .flow .contents1 .box p br{
    display: none;
  }
  .flow .contents1 .box p.min{
    text-align: left;
    line-height: 1.8;
    margin-top: -5px;
  }
  .flow .contents1 .box .tel-box .tel{
    width: 230px;
    margin: 0 auto 10px;
  }
  .flow .contents1 .box .tel-box dl{
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.65;
  }
  .flow .contents1 .box .tel-box dl dt{
    width: auto;
    padding: 0 3px;
    margin-right: 5px;
  }
  .flow .contents1 .box .tel-box dl dd{
    margin-right: 10px;
  }

  .flow .contents2::before{
    height: 120px;
  }
  .flow .contents2::after{
    display: none;
  }
  .flow .contents2 .links{
    display: block;
    margin-bottom: 5px;
  }
  .flow .contents2 .links ul{
    margin-top: -10px;
    width: 100%;
    justify-content: space-between;
  }
  .flow .contents2 .links ul li{
    width: 48%;
    height: 40px;
    margin: 10px 0 0;
  }
  .flow .contents2 section{
    padding-top: 30px;
  }
  .flow .contents2 section h3{
    border-width: 7px;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    padding: 8px 0;
    margin-bottom: 15px;
  }
  .flow .contents2 section dl{
    padding: 15px 15px 15px 10px;
    border-left-width: 5px;
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    line-height: 1.8;
  }
  .flow .contents2 section dl dt{
    margin-bottom: 12px;
  }
  .flow .contents2 section dl dd span,
  .flow .contents2 section dl dt span{
    width: 30px;
    height: 30px;
    line-height: 29px;
  }
  .flow .contents2 section dl dd div,
  .flow .contents2 section dl dt div{
    width: calc(100% - 40px);
    padding-top: 2px;
  }


  /**************service********************/
  .service .contents1 .ttl{
    padding-top: 0;
  }
  .service .contents1 .ttl .sub{
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .service .contents1 .ttl .sub li{
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    padding: 4px 6px;
    margin: 3px !important;
  }
  .service .contents1 .ttl h2{
    max-width: 460px;
    padding: 0 30px;
    min-height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto 30px;
  }
  .service .contents1 .ttl h2::before,
  .service .contents1 .ttl h2::after{
    width: 25px;
    height: 50px;
  }
  .service .contents1 .box{
    margin-bottom: 50px;
  }
  .service .contents1 .box h3{
    border-width: 7px;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    padding: 8px 0;
    margin-bottom: 15px;
  }
  .service .contents1 .box p{
    text-align: left;
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    margin-bottom: 15px;
  }
  .service .contents1 .box p.min{
    line-height: 2;
  }
  .service .contents1 .box p.red{
    font-size: 2rem;
    text-align: center;
    margin-bottom: 8px;
  }
  .service .contents1 .box p br{
    display: none;
  }
  .service .contents1 .box:nth-of-type(1) .table{
    padding-top: 12px;
  }
  .service .contents1 .box:nth-of-type(2) .table{
    margin-bottom: 12px;
  }
  .service .contents1 .box:nth-of-type(2) p span{
    margin-left: 15px;
    display: inline-block;
  }
  .service .contents1 .contact-box{
    width: 100%;
  }
  .service .contents1 .contact-box::before{
    width: 130px;
    height: 120px;
    right: -4px;
    bottom: 1px;
  }
  .service .contents1 .contact-box h3{
    width: 90%;
    max-width: 320px;
    height: 50px;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
  .service .contents1 .contact-box h3::after{
    border: solid 16px transparent;
    border-top: solid 12px #f8df06;
  }
  .service .contents1 .contact-box .text{
    height: auto;
    padding: 40px 15px 15px;
    border-width: 6px;
    margin-top: -25px;
  }
  .service .contents1 .contact-box .text .tel{
    width: 230px;
    margin-bottom: 12px;
  }
  .service .contents1 .contact-box .text .t-h{
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.7;
  }
  .service .contents1 .contact-box .text .t-h dt{
    width: auto;
    padding: 0 4px;
    margin-right: 3px;
  }
  .service .contents1 .contact-box .text .t-h dd{
    margin-right: 8px;
  }


  /**************about********************/
  .about .contents1 figure {
    margin: 0 auto 20px;
  }
  .about .contents1 figure:before{
    width: 100%;
    top: 10px;
    left: 10px;
  }
  .about .contents1 figure div{
    width: 100%;
    height: 0;
    padding-top: 58%;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
  .about .contents1 figure img{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .about .contents1 .text p{
    margin-bottom: 15px;
  }
  .about .contents1 .text p br{
    display: none;
  }
  
  .about .contents2 .list{
    display: block;
    margin-bottom: 30px;
  }
  .about .contents2 .list li{
    display: block;
    width: 100%;
    height: auto;
    border-width: 5px;
    padding: 12px 10px;
    margin: 0 auto 10px;
    background-size: 50px;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
  .about .contents2 .list li br{
    display: none;
  }
  .about .contents2 .list li:last-of-type{
    margin-bottom: 0;
  }
  .about .contents2 figure{
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .about .contents2 figure::before{
    width: 100%;
    height: calc(100% - 10px);
    top: 10px;
    right: 10px;
  }
  .about .contents2 figure::after{
    width: 43%;
    height: 0;
    padding-top: 39%;
    left: -10px;
  }
  .about .contents2 figure div{
    width: 100%;
    height: 0;
    padding-top: 58%;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .about .contents2 figure img{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
  }
  .about .contents2 .text{
    width: 100%;
    margin-top: 0;
  }
  .about .contents2 .text p{
    margin-bottom: 15px;
  }
  .about .contents2 .text p br{
    display: none;
  }
  .about .contents2 .text .btn{
    padding-top: 0;
    margin: 0 auto;
  }

  .about .contents3 .cont{
    width: 96%;
  }
  .about .contents3 h3{
    width: 90%;
    max-width: 320px;
    font-size: 1.8rem;
    letter-spacing: 0.03em;
    padding: 10px 8px 12px;
  }
  .about .contents3 h3 .blo{
    font-size: 1.5rem;
    line-height: 2;
  }
  .about .contents3 .text{
    width: 100%;
    max-width: 450px;
    height: auto;
    border-width: 6px;
    margin-top: -30px;
    padding: 50px 10px 20px;
  }
  .about .contents3 .text::before{
    width: 77px;
    height: 172px;
    left: -18px;
    bottom: -59px;
    transform: rotate(-22deg);
  }
  .about .contents3 .text p:not(.btn){
    margin-bottom: 15px;
  }
  .about .contents3 .text .btn{
    padding-top: 0;
    position: relative;
    z-index: 1;
  }


  /**************index********************/
  .index .h2_index{
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    margin-bottom: 30px;
  }
  .index .h2_index .en{
    font-size: 5.2rem;
    margin-bottom: 6px;
  }

  .index .contents1{
    padding-bottom: 10px;
  }
  .index .contents1 h2, .index .contents1 h3{
    text-align: center;
  }
  .index .contents1 .text{
    width: 90%;
    margin: 0 auto;
    padding-bottom: 80px;
  }
  .index .contents1 .text p{
    margin-bottom: 15px;
  }
  .index .contents1 .text p:first-of-type{
    margin-top: -6px;
  }
  .index .contents1 .text p br{
    display: none;
  }
  .index .contents1 figure{
    width: 92%;
    height: 0;
    padding-top: 60%;
    margin-right: 0;
  }
  .index .contents1 figure::before{
    width: calc(100vw - 10px);
    height: 100%;
    top: 10px;
    left: 15px;
    right: inherit;
  }
  .index .contents1 figure img{
    position: absolute;
    top: 0;
    left: 0;
  }
  .index .contents1 .text .link{
    right: -10px;
    bottom: -15px;
    width: 35%;
    max-width: 135px;
    transform: translateY(30%);
  }
  
  .index .contents2{
    padding: 40px 0 50px;
  }
  .index .contents2::before{
    display: none;
  }
  .index .contents2::after{
    width: 100%;
    height: 100%;
    background-size: 45%;
    background-position: top 15px left;
    top: 0;
  }
  .index .contents2 h2{
    width: 75%;
    max-width: 360px;
    padding-right: 0;
    margin: 0 0 30px auto;
  }
  .index .contents2 .box{
    width: 100%;
    height: auto;
    display: block;
    padding: 6px;
    margin-bottom: 20px;
  }
  .index .contents2 .box:before{
    border: solid 6px #f8df06;
  }
  .index .contents2 .box::after{
    width: 100%;
    top: 8px;
    left: 8px !important;
  }
  .index .contents2 .box .ttl{
    width: 100%;
    height: auto;
    min-height: 80px;
    padding: 0 0 6px 0;
    margin-bottom: 25px;
  }
  .index .contents2 .box .ttl::after{
    border: solid 16px transparent;
    border-top: solid 12px #f8df06;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  .index .contents2 .box .ttl::before{
    width: calc(100% + 12px);
    height: calc(100% + 6px);
    border-radius: 0 0 50% 50%;
    top: -6px;
    left: -6px;
  }
  .index .contents2 .box .ttl h3{
    font-size: 2.1rem;
    height: auto;
    letter-spacing: 0.06em;
  }
  .index .contents2 .box .ttl h3 br{
    display: none;
  }
  .index .contents2 .box .text{
    width: 100%;
    padding: 0 15px 20px;
    text-align: center;
  }
  .index .contents2 .box .text figure{
    margin-bottom: 12px;
  }
  .index .contents2 .box .text p:not(.btn){
    display: inline-block;
    text-align: left;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
  }
  .index .contents2 .box .text p:not(.btn) br{
    display: none;
  }
  .index .contents2 .box:nth-of-type(2) figure.nyan,
  .index .contents2 .imgs{
    display: none;
  }
  .index .contents2 .imgs li:nth-of-type(2){
    width: 55%;
    padding-top: 30%;
    margin-top: -15%;
  }
  .index .contents2 .imgs li img{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
  }

  .index .contents3{
    padding-bottom: 60px;
  }
  .index .contents3 h2{
    width: 70%;
    max-width: 280px;
  }
  .index .contents3 .box{
    border-width: 8px;
    height: auto;
    padding: 50px 5% 0;
    margin-top: -50px;
  }
  .index .contents3 .box ul{
    position: relative;
    left: inherit;
    bottom: inherit;
    width: 100%;
    height: auto;
    padding-top: 20px;
  }
  .index .contents3 .box ul li{
    height: auto !important;
    position: relative !important;
    top: inherit !important;
    left: inherit !important;
    bottom: inherit !important;
    right: inherit !important;
    letter-spacing: 0.02em;
    border-radius: 8px;
    padding: 3% 2%;
    margin-bottom: 8px;
  }
  .index .contents3 .box ul li:nth-of-type(2n){
    margin-left: auto;
  }
  .index .contents3 .box ul li:last-of-type{
    margin-bottom: 0;
  }
  .index .contents3 .box ul li br{
    display: none;
  }
  .index .contents3 .box ul li.y{
    border-width: 3px;
  }
  .index .contents3 .box ul li::before{
    display: none;
  }
  .index .contents3 .box ul li:nth-of-type(1){
    font-size: 2.4rem;
    width: 92%;
  }
  .index .contents3 .box ul li:nth-of-type(2){
    font-size: 1.7rem;
    width: 60%;
  }
  .index .contents3 .box ul li:nth-of-type(3){
    font-size: 1.4rem;
    width: 90%;
  }
  .index .contents3 .box ul li:nth-of-type(4){
    font-size: 1.7rem;
    width: 75%;
  }
  .index .contents3 .box ul li:nth-of-type(5){
    font-size: 1.5rem;
    width: 64%;
  }
  .index .contents3 .box ul li:nth-of-type(6){
    font-size: 1.3rem;
    width: 50%;
  }
  .index .contents3 .box ul li:nth-of-type(7){
    font-size: 1.9rem;
    width: 81%;
  }
  .index .contents3 .box figure{
    width: 48%;
    min-width: 140px;
    max-width: 210px;
    max-height: 180px;
    padding-left: 15px;
    padding-top: 0;
    margin: -10% -30px 0 auto;
    overflow: hidden;
  }
  .index .contents3 .box .btn a span{
    font-size: 2rem;
  }
  .index .contents3 .box .btn{
    width: 80%;
    height: 60px;
  }
  .index .contents3 .box .btn a{
    flex-direction: row;
    padding-top: 4px;
  }
  .index .contents3 .box .btn a span{
    margin-top: -4px;
    margin-right: 3px;
  }

  .index .contents4{
    padding: 30px 0;
  }
  .index .contents4 .ttl{
    width: 140px;
    height: auto;
    margin-left: -20px;
  }
  .index .contents4 .text{
    width: calc(100% - 130px);
  }
  .index .contents4 .text .list dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
    margin-bottom: 15px;
  }
  .index .contents4 .text .list dl dt{
    font-size: 1.3rem;
    letter-spacing: 0.04em;
    width: 80px;
    line-height: 22px;
    margin-bottom: 0;
  }
  .index .contents4 .text .list dl dd{
    width: calc(100% - 90px);
  }
  .index .contents4 .text .btn{
    width: 180px;
    height: 40px;
  }

  
  /****************footer*****************/
  footer{
    padding: 30px 0 20px;
  }
  footer .footer {
    width: 90%;
    display: block;
  }
  footer .f_logo{
    width: 210px;
    margin: 0 auto 15px;
  }
  footer .add{
    justify-content: center;
    flex-wrap: wrap;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    margin-bottom: 15px;
  }
  footer .oth{
    display: block;
    margin-bottom: 0;
  }
  footer .oth .tel-box{
    margin: 0 auto 10px;
  }
  footer .oth .tel{
    width: 200px;
    margin: 0 auto 10px;
  }
  footer .f-nav{
    display: none;
  }
  footer .oth .tel-box .t-h{
    width: 260px;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    margin: 0 auto;
  }
  footer .oth .tel-box .t-h dl dt{
    width: 62px;
  }
  footer .oth .link{
    width: 180px;
    height: 48px;
    margin: 0 auto;
  }
  footer .oth .link a{
    border-width: 3px;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    text-decoration: none;
  }

  div.copy p{
    font-size: 1.1rem;
    letter-spacing: 0.03em;
  }
  
  /**************siteページ***************/
  .site .contents1 {
  }
  .site .contents1 .site_list{
    width: 100%;
  }
  .site .contents1 .site_list ul{
    padding: 12px 10px;
    border-width: 6px;
  }
  .site .contents1 .site_list ul li a{
    text-decoration: none;
    font-size: 1.1rem;
    letter-spacing: 0;
    padding: 8px 8px 6px;
  }
  .site .contents1 .site_list ul li a span{
    font-size: 1.8rem;
    letter-spacing: 0em;
    margin-right: 5px;
  }
  
  /**************privacyページ***************/
  .privacy .contents1 {
    padding-bottom: 60px;
  }
  .privacy .contents1 h3{
    border-width: 7px;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    padding: 8px 0;
    margin-bottom: 8px;
  }
  .privacy .contents1 .item-box {
    margin-bottom: 30px;
  }
  
  /**************error 404ページ***************/
  .error .contents1 {
  }
  
  /**************contactページ***************/
  .contact .contents1{
    padding-bottom: 70px;
  }
  .contact .contents1 table,
  .contact .contact-recaptcha-wrap{
    margin-bottom: 20px;
  }
  .contact .contents1 table tr{
    letter-spacing: 0.02em;
  }
  .contact .contents1 table th{
    padding: 10px 12px;
  }
  
  .input-min{
    width: 62px;
  }
  .contact form input{
    font-size: 1.5rem;
  }
  .contact form textarea{
    font-size: 1.5rem;
    height: 150px;
  }
  .contact-submits input{
    padding: 8px 12px;
    margin: 0 3px;
  }
  .contact-submits-wrap input{
    padding: 12px 35px;
  }
  
  /**************newsページ***************/
  .column .contents1 {
    padding-bottom: 60px;
  }
  .column .contents1 .list-box dl{
    display: block;
    padding: 15px;
    margin-bottom: 20px;
  }
  .column .contents1 .list-box dl::before{
    top: 8px;
    left: 8px;
    background-size: 8px;
  }
  .column .contents1 .list-box dl::after{
    border-width: 3px;
  }
  .column .contents1 .list-box dl dt{
    width: 100%;
    padding: 3px 0;
    letter-spacing: 0.04em;
    margin-bottom: 5px;
  }
  .column .contents1 .list-box dl dd{
    width: 100%;
  }
  
  /**************news_detailページ***************/
  .column_detail .contents1 {
    padding-bottom: 70px;
  }
  .column_detail .contents1 .sec1{
    width: 90%;
  }
  .column_detail .contents1 .sec1 h3{
    border-width: 7px;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    padding: 8px 0;
    margin-bottom: 8px;
  }
  .column_detail .contents1 .sec1 .post-data{
    margin-bottom: 5px;
  }
  .column_detail .contents1 .sec1 .item-text{
    
  }
  .column_detail .contents1 .sec1 .item-box {
    width: 100%;
  }
  .column_detail .contents1 .item-box img {
    max-width: 100% !important;
  }
  
  
  
  /**************************/
  
  /* IEハック */
  _:-ms-fullscreen, :root .selector{
    
  }
  
  
  /*--------------------------------------
		common
	--------------------------------------*/
  html {
    font-size: 62.5%;
  }
  a:link {
    text-decoration: underline;
  }
  /* box-sizing */
  *, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  img {
    max-width: 100%;
  }
  body,
  #wrapper,
  footer {
    width: auto;
    min-width: 320px;
  }
  body {
    background: #fff;
  }
  #wrapper {
    font-size: 1.0rem;
    padding: 0;
  }
  
  /* #pagetop */
  .bnr{
    right: 10px;
    bottom: 10px;
  }
  .bnr .contact-link{
    display: none;
  }
  .bnr .pagetop{
    width: 50px;
    height: 50px;
  }
  .bnr .pagetop a{
    font-size: 1.4rem;
    text-decoration: none;
    -webkit-box-shadow: 0px 3px 2px 1px rgb(0 0 0 / 17%);
    box-shadow: 0px 3px 2px 1px rgb(0 0 0 / 17%);
  }
  .bnr .pagetop a span{
    font-size: 1.1rem;
  }
}

/*===============================================
  画面の横幅が767px以下で変更したい場合に適用
===============================================*/
@media screen and (max-width: 470px){
  .index .contents1 .text{
    padding-bottom: 17%;
  }
}
@media screen and (max-width: 450px){
  .index .contents4 .box{
    display: block;
  }
  .index .contents4 .ttl{
    display: block;
    width: 155px;
    height: 155px;
    margin-top: -40px;
    margin-left: -12px;
    overflow: hidden;
  }
  .index .contents4 .text{
    width: 100%;
  }
  .index .contents4 .text .list{
    margin-bottom: 15px;
  }
  .index .contents4 .text .list dl{
    display: block;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .index .contents4 .text .list dl dt{
    width: 100%;
    margin-bottom: 5px;
  }
  .index .contents4 .text .list dl dd{
    width: 100%;
  }
  .index .contents4 .text .btn{
    margin: 0 auto;
  }
}
@media screen and (max-width: 420px){
  .about .contents2 .list li br{
    display: inherit;
  }
  .service .contents1 .contact-box h3{
    font-size: 1.7rem;
    letter-spacing: 0.02em;
  }
  .service .contents1 .contact-box::before{
    display: none;
  }
  .service .contents1 .contact-box .text{
    padding: 40px 10px 15px;
  }
  .service .contents1 .contact-box .text .tel{
    margin: 0 auto 12px;
  }
  .service .contents1 .contact-box .text .t-h{
    justify-content: center;
  }
  .flow .contents2 .links ul li{
    width: 100%;
  }
}
@media screen and (max-width: 390px){
  .about .contents3 .text{
    padding: 50px 22px 20px;
  }
  .about .contents3 .text p:not(.btn){
    text-align: left;
  }
  .about .contents3 .text p:not(.btn) br{
    display: none;
  }
}
