@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
/* RESET
----------------------------------------------------------------------------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,section2,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video,address{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}
picture {
  display: block;
  text-align: center;
}
/* ----------------------------------------------

 * 設定をしなおす

---------------------------------------------- */
body {
    position: relative;
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.8em;
  color: #0F0F0F;
  height: 100%;
  font-weight: 400;
  font-family: 'Roboto',"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


sup,sub {
  font-size: 70%;
}

/* IE8〜11はメイリオ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  body {
    font-family: 'Segoe UI',
                 Meiryo,
                 sans-serif;
  }
}

.hour-all{
     display: none;
}

table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: bottom;
  border: none;
}

img {
    image-rendering: auto;
}

.taR {
  text-align: right;
}
.fsS {
    font-size: 12px;
}
.mt1 {
    margin-top: 1%;
}

/* ----------------------------------------------

 * アンカータグの設定

---------------------------------------------- */
a {
  outline:none;
  color: #1A8ED6;
}

a:hover {
  text-decoration: none;
}


a,a:hover,a:hover img,button,input {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
}


/* ----------------------------------------------

 * 要素を左右中央寄せ

---------------------------------------------- */


.clr{zoom:1;display:inline-table}.clr:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0;line-height:0}* html .clr{height:1%;display:inline-table;display:block;height:1%}.clr{display:block}

input,textarea {
    border-radius:0;
    line-height: 1em;
}
input[type="text"],textarea,input[type="tel"],input[type="email"],input[type="number"]{
  padding:10px;
  border: none;
  margin:0;
  display: block;
  background: #f3f3f3;
  font-family: inherit;
  -webkit-appearance: none;
  font-size: inherit;
  width: 100%;
  border-radius: 10px;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}
input[type="submit"] {
  -webkit-appearance: none;
}

textarea {
  height: 14em;
  width: 100%;
  display: block;
  resize: vertical;
}

button {
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
}


*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;*behavior:url(/scripts/boxsizing.htc)}.sp{display:none}}@media(max-width:768px){.sp_none{display:none !important;}}


/* -----------------------------------------------
 * base.css
----------------------------------------------- */

main {
    display: block;
    overflow-x: hidden;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
.fit {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: 100%;
  height: 100%;
}
.mb50 {
  margin-bottom: 5vw;
}
.br_sp {
  display: none;
}
.br_pc {
  display: block;
}
  .section {
    padding: 40px 0;
    margin-bottom: 0;
  }
  
  .section2 {
    padding: 0 0 40px;
    margin-bottom: 0;
  }


@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
.br_sp {
  display: block;
}
.br_pc {
  display: none;
}
.section#point {
    padding: 3vw 0;
}

.section#point {
    padding: 0;
}
}



/* ---------------------------------------------------------------------------------------------

　   HEADER

--------------------------------------------------------------------------------------------- */

#header {
  background: #fff;
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  box-shadow: 5px 5px 5px rgb(0 0 0 / 40%);
}
#h_logo h1 span {
  display: block;
  font-weight: normal;
}
#h_logo h1 img {
  text-align: left;
}
.headerline{
  max-width: 1100px;
  padding: 1vw 2vw;
  margin-right: auto;
  margin-left: auto;
}
.h_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

h1 span {
    font-size: 14px;
    margin-bottom: 5px;
    display: block;
  }
h1 img {
    width: 85%;
    display: block;
}
.h_r p.tel {
    font-size: min(3.8vw,44px);
    font-weight: bold;
}
.tel a:link {
    color: #fe0000;
    text-decoration: underline;
}
p.time {
    text-align: center;
    font-size: 18px;
    line-height: 1;
}
.h_r img {
    margin-right: 10px;
}

/*header メール問い合わせ追加*/
.top_mail {
     width: 33%;
     text-align: center;
}
.top_mail img {
     width:75%;
}
/*#header{
    position:fixed;
}*/

@media screen and (min-width:768px) {
   body{ padding-top:10px;}
}

@media screen and (max-width:767px) {
   body{ padding-top:0;}
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.headerline {
    padding: 2vw;
    margin-right: auto;
    margin-left: auto;
}
.chiiki {
    text-align: center;
    padding: 2% 0 1% 0;
    font-weight: bold;
    background: #facc16;
    font-size: 14px;
}
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
.h_l {
    width: 40%;
}
.h_r {
    width: 205px;
}
h1 span {
  font-size: 0.5rem;
    margin-bottom: 5px;
    letter-spacing: -1px;
}
.h_r img {
    margin-right: -10px;
    width: 85%;
}
.h_r p.tel {
    font-size: 1.4rem;
    font-weight: bold;
}
p.time {
    text-align: center;
    font-size: 0.6rem;
    line-height: 1;
}
h1 img {
    width: 90%;
    display: block;
}
}
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */
.h_r p.tel {
    font-size: 1.2rem;
    font-weight: bold;
}
.h_r img {
    margin-right: -10px;
    width: 70%;
}
.h_r {
    width: 57%;
}
.h_l {
    width: 42%;
}
}

/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
#footer .copy {
  text-align: center;
}
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.another {
    width: 100%;
    padding: 5px 110px 20px;
    font-weight: bold;
    color: #fff;
}
.another_ttl {
    line-height: 2.5;
	text-align: center;
	color: #FFFFFF;
}
.footer_oya {
    display: flex;
    justify-content: space-around;
}
#footer .copy {
    text-align: center;
    color: #fff;
}

#footer .min_ttl{
    font-weight: bold;
    text-decoration: underline;
    margin-top: 20px;
}
#footer .min_ttl+p{
    font-size: 12px;
    font-weight: normal;
}

@media only screen and ( max-width : 767px ) {
  #footer {
      padding: 0 0 80px;
      background: #0f5899;
      /*margin-top: 40px;*/
    }
    .another {
    padding: 20px 5px 20px;
    font-size: 0.9em;
    }
}

@media print, screen and ( min-width : 768px ) {
  #footer {
    padding: 53px 0;
    background: #0f5899;
  }
}

@media (min-width: 1200px){
.container {
    max-width: 1000px;
}
}

@media screen and (max-width: 480px){
.container {
    width: 100%;
    padding-right: 3%;
    padding-left: 3%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10px;
}
}



/* ---------------------------------------------------------------------------------------------

　   PAGE TOP BUTTON

--------------------------------------------------------------------------------------------- */
#pagetop {
  z-index: 99;
  width: 60px;
  height: 60px;
  position: fixed;
  right: 20px;
  bottom: 20px;
}
#pagetop a {
  display: block;
}
#pagetop:hover a {
  transform: translateY(-5px);
}
@media only screen and ( max-width : 767px ) {
  #pagetop {
    bottom: 70px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   CONTENTS

--------------------------------------------------------------------------------------------- */
.decimal li {
  list-style: decimal;
  margin-left: 1.2em;
  margin-bottom: 0.5em;
}

.rel {
 position: relative;
}
.taC {
  text-align: center;
}
.ma {
  margin: 0 auto;
}


/** ---------------------------------------------------------------------------------------------

　   CTA

--------------------------------------------------------------------------------------------- */

section.cta {
    background: #facc16;
    padding-bottom: 30px;
    margin: 100px 0 50px;
    height: 410px;
}
.abs_cta {
    top: -75px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.cta_btn img {
    max-width: 80%;
}
.cta_btn2 {
    max-width: 100%;
}
.cta_box {
  background-color:  #fff;
  padding: 2vw 2vw 0.5vw;
}
.cta_flex {
  display: flex;
  justify-content: space-between;
}
.cta_box p:first-child {
    font-size: 2.1rem;
    font-weight: bold;
    color: #025490;
}
.cta_t {
  font-size: 36px;
  padding: 50px 0 20px;
  font-weight:  bold;
}


/* cta下の法人ポップの詳細 */
.btn_under_hojin{
    text-align: center;
    color: #000;
    font-size: 1.2em;
    text-decoration: underline;
    font-weight: bold;
    margin: 3% auto 0;
    display: block;
}



@media screen and (max-width: 1024px) {
section.cta {
    background: #facc16;
    padding-bottom: 30px;
    margin: 10vw 0 3vw;
    height: 41vw;
}
.abs_cta {
    top: -20%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.cta_btn img {
    max-width: 70vw;
}
.cta_t {
    font-size: 1.6rem;
    padding: 50px 0 20px;
    font-weight: bold;
}
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */
.cta_t {
    font-size: 1.1rem;
    padding: 7vw 0 2vw;
    font-weight: bold;
}
.cta_btn img {
    max-width: 90%;
}
section.cta {
    background: #facc16;
    padding-bottom: 30px;
    margin: 20vw 0 8vw;
    height: 102vw;
}
.abs_cta {
    top: -10.5vw;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.cta_box p:first-child {
    font-size: 1.5rem;
    font-weight: bold;
    color: #025490;
}
.cta_flex {
    display: block;
    justify-content: space-between;
}
}
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */
.cta_t {
    font-size: 0.9rem;
    padding: 7vw 0 2vw;
    font-weight: bold;
}
}


/* 光 */
.shine{
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.shine::before{
    content: '';
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shine 3s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    opacity: 0;
    transform: rotate(45deg);
}

/* 光の動き */
@keyframes shine{
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   ANIMATION

--------------------------------------------------------------------------------------------- */

.fadein {
  opacity: 0;
  transition: .8s;
}
.fadein.fadein__active {
  opacity: 1;
  transition-delay: .1s;
}
.fadein.fadein__active.delay1 {
  transition-delay: .2s;
}
.fadein.fadein__active.delay2 {
  transition-delay: .3s;
}
.fadein.fadein__active.delay3 {
  transition-delay: .4s;
}

@media print, screen and ( min-width : 768px ) {
  .order3_anim .fadein.fadein__active:nth-child(3n+2) {
    transition-delay: .3s !important;
  }
  .order3_anim .fadein.fadein__active:nth-child(3n) {
    transition-delay: .6s !important;
  }
}

.fadein_up {
  opacity: 0;
  transition: .8s;
  animation-timing-function:cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fadein_up.fadein_up__active {
  opacity: 1;
  animation-name: fadein_up__active;
  animation-duration: 1.2s;
}
@media screen and (min-width:768px) {
  .order2_anim .fadein_up.fadein_up__active:nth-child(2n) {
    transition-delay: .3s;
    animation-delay: .3s;
  }
  .order3_anim .fadein_up.fadein_up__active:nth-child(3n+2) {
      transition-delay: .3s;
      animation-delay: .3s;
  }
  .order3_anim .fadein_up.fadein_up__active:nth-child(3n) {
      transition-delay: .6s;
      animation-delay: .6s;
  }
  .order4_anim .fadein_up.fadein_up__active:nth-child(4n+2) {
      transition-delay: .3s;
      animation-delay: .3s;
  }
  .order4_anim .fadein_up.fadein_up__active:nth-child(4n+3) {
      transition-delay: .6s;
      animation-delay: .6s;
  }
  .order4_anim .fadein_up.fadein_up__active:nth-child(4n) {
      transition-delay: .9s;
      animation-delay: .9s;
  }
}


@keyframes fadein_up__active {
    from {
        transform: translateY(30px);
    }
    to {
        transform: translateY(0);
    }
}

/* ---------------------------------------------------------------------------------------------

　   AREA MAP

--------------------------------------------------------------------------------------------- */

#area .area_map_pos{
    width: 100%;
    margin: 0 auto;
    background: rgba(255,255,255,0.5);
    padding: 1.5vw;
    box-sizing: border-box;
    position: relative;
}

#area .area_map_pos .area_map_ttl h3{
    background-color: #43ae6e;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 10px;
}
#area .area_map_ttl p{
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
}


#area .area_map_pos picture{
    width: 95%;
    max-width: 600px;
    margin: 0 auto;
}
#area .area_map_pos img{
    width: 100%;
}
#area .area_map_pos+p{
    display: block;
    width: 95%;
    max-width: 600px;
    margin: 10px auto;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
}


@media screen and ( max-width : 767px ) {
    #area .area_map_pos{
        padding: 3vw 1.5vw;
    }
    #area .area_map_pos .area_map_ttl h3,
    #area .area_map_pos+p{
        font-size: 1.4rem;
    }
    #area .area_map_ttl p{
        font-size: 1.1rem;
    }

}



/* ---------------------------------------------------------------------------------------------

　   XXX

--------------------------------------------------------------------------------------------- */

@media only screen and ( max-width : 767px ) {
    .sp_ds_n{
        display: none;
    }
}
@media print, screen and ( min-width : 768px ) {
    .pc_ds_n{
        display: none;
    }
    .chiiki {
        padding: 15px 0 10px 0;
        font-size: 18px;
    	font-weight: bold;
        background: #facc16;
    	text-align: center;
    }
	.pc_dp_n{
		display: none;
	}
}



/* 210930 */
@media screen and (max-width:768px) {
    #voice .slick-prev{
        left: 0 !important;
    }
    #voice .slick-next{
        right: -2% !important;
        width: 55px;
    }
    #voice .slick-next:before{
        line-height: 45px !important;
        font-size: 1.45rem !important;
    }
}

/* 211015 */
.voice_child{
    background-color: #facc16;
    padding: 15px;
    box-shadow: 3px 3px 3px rgb(0 0 0 / 7%);
    box-sizing: border-box;
}
.voice_child_ttl,
.voice_child_chart{
    display: flex;
    justify-content: space-between;
}
.voice_child_chart{
    padding: 10px;
    background-color: #fff;
    border-radius: 10px;
    margin: 10px auto;
}
.voice_child_ttl>img,
.voice_child_ttl>p,
.voice_child_ttl>a,
.voice_child_chart>img,
.voice_child_chart>p{
    display: block;
}
.voice_child_ttl>img{
    width: 13% !important;
    object-fit: contain;
}
.voice_child_ttl>p{
    width: 55%;
}
.voice_child_ttl>p>span{
    font-weight: bold;
    font-size: 120%;
}
.voice_child_ttl>a{
    width: 30%;
}
.voice_child_ttl>a>.pdf{
    display: inline-block;
    width: 20px;
    margin-right: 5px;
}
.voice_child_chart>p{
    width: 60%;
    background-color: #fffcdb;
    padding: 10px;
    box-sizing: border-box;
}
.voice_child_chart>img{
    width: 40% !important;
    object-fit: contain;
}
.other_cv+p,
.ocv_page .voice_for+p{
    font-size: 12px; 
    color: #999;
}

.other_cv{
    display: block;
    text-align: center;
    margin: 80px auto 50px;
}
.other_cv>a{
    padding: 15px 30px;
    border-radius: 10px;
    background-color: #e9460a;
    color: #fff;
    font-weight: bold;
    font-style: italic;
    font-size: 18px;
    border: 2px solid #fff;
    box-shadow: 0 5px 0 #bcbdbd;
}
.ocv_page .voice_child{
    margin-bottom: 60px;
}
.ocv_page>h2{
    background: #facc16;
    position: relative;
    margin-top: 3vw;
}

.ocv_page>h2>img{
    position: relative;
    bottom: 3vw;
}

@media screen and (min-width:768px) {
    .ocv_page>h2{
        height: 7vw;
        min-height: 145px;
    }
}
@media screen and (max-width:768px) {
    .voice_child_ttl,
    .voice_child_chart{
        display: block;
    }
    .voice_child_ttl>img{
        width: 40% !important;
        margin: 10px auto;
    }
    .voice_child_chart>img{
        width: 100% !important;
        margin: 10px auto;
    }
    .voice_child_ttl>p,
    .voice_child_ttl>a,
    .voice_child_chart>p{
        width: 100%;
        margin: 10px auto;
    }
    .voice_child_ttl>p>span{
        font-size: 100%;
    }
    .voice_child_ttl>a,
    .voice_child_chart>p{
        font-size: 85%;
    }
    .voice_child_chart>p{
        padding: 0;
        padding-bottom: 10px;
        background: none;
        border-bottom: 1px solid #facc16;
    }
    .other_cv>a{
        padding: 15px;
    }
    .ocv_page>h2{
        padding-bottom: 0;
    }
    .ocv_page>h2>img.pc_ds_n{
        display: block;
        width: 90%;
        margin: 0 auto;
    }
    .ocv_page .voice_child{
        background-color: #fff;
    }
}

/*2021_12_16_追記*/
.floatbox .inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    justify-content: center;
    align-items: flex-end;
    padding: 1% 1%;
    width: auto;
}

.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}

.inner {
    margin: 0 auto;
    padding-left: 1px;
    padding-right: 1px;
    max-width: 1100px;
    box-sizing: content-box;
}

.floatbox {
    padding-bottom: env(safe-area-inset-bottom);
}

.ScrollTop{
    opacity: 0;
    transition: all 0.65s;
    background-color: #fffcdb;
    width: 100%;
    position: fixed;
    z-index: 10;
    bottom: 0;
}
@media screen and (max-width:768px) {
    .sp {
    display: block;
    }
    .floatbox_sp {
    color: #fff;
    text-align: center;
    padding: 11% 0;
    position: absolute;
    bottom: 0;
    }
    .ScrollTop.isActive {
        opacity: 1;
        transition: all 0.65s;
    }
}
@media screen and (min-width:768px) {
    .ScrollTop{
        display: none;
    }
}
 

/* ---------------------------------------------------------------------------------------------

　   voice _2021_12_17_追記

--------------------------------------------------------------------------------------------- */
  .voice_child2{
    background-color: #ffffff;
    padding: 15px;
    box-shadow: 3px 3px 3px rgb(0 0 0 / 7%);
    box-sizing: border-box;
}
.vc_inner{
    display: flex;
    align-items: center;
}
.vc_inner>div:first-child{
    width: 40%;
}
.vc_inner>div:last-child{
    width: 60%;
}
.vc_inner>div:last-child>img{
    width: 70%;
    margin: 15px auto;
}
.vc_inner>div>p:last-child{
    margin-top: 10px;
}

.voice_child_chart{
    padding: 10px;
    background-color: #fff;
    border-radius: 10px;
    margin: 10px auto;
}
.voice_child_ttl2>img,
.voice_child_ttl2>p,
.voice_child_ttl2>a,
.voice_child_chart>img,
.voice_child_chart>p{
    display: block;
}

.voice_pdf, .v_icon{margin:auto;}
.voice_pdf{ width:90% !important; border:1px solid #666666;}
.v_icon{width:50% !important;}
.v_btn_pc{display:none !important;}
.v_btn_sp{width:90% !important; margin:10px auto 0px;}
.voice_child_ttl2 td{vertical-align: middle; margin:auto;}    
.voice_child_ttl2 td:first-child{
    width: 40%;
}
.kome{
    font-size: 12px; 
    color: #999;
}

.other_cv{
    display: block;
    text-align: center;
    margin: 80px auto 50px;
}
.other_cv>a{
    padding: 10px 20px;
    border-radius: 10px;
    background-color: #e9460a;
    color: #fff;
    font-weight: bold;
    font-style: italic;
    font-size: 15px;
    border: 2px solid #fff;
    box-shadow: 0 5px 0 #bcbdbd;
}
.ocv_page .voice_child{
    margin-bottom: 60px;
}
.ocv_page>h2{
    background: #facc16;
    position: relative;
    margin-top: 3vw;
}
.ocv_page>h2>img{
    position: relative;
    bottom: 3vw;
}

@media screen and (min-width:768px) {
    .ocv_page>h2{
        height: 7vw;
        min-height: 145px;
    }
    .v_btn_pc{display:block !important; width:50% !important; margin:10px auto 0px;}
    .v_btn_sp{display:none !important;}
    .v_icon{width:70% !important;}
    
    .other_cv>a{
        padding: 15px 30px;
        font-size: 18px;
    }
    .ocv_page>h2{
        padding-bottom: 0;
    }
    
    .ocv_page .voice_child2{
        background-color: #fff;
    }
}

.sp_ds{
    display:none;
}
.d_flex2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

}
.service_box2 {
	width: 49%;
	margin-bottom: 20px;
	box-shadow: 3px 3px 3px rgb(0 0 0 / 7%);
}
  
.btn_01{
    width: 45%;
    margin: 0 auto;
    display: block;
}
.btn_01 #tel-btn{
    text-align: center;
}
.btn_01 #tel-btn>img{
    margin: auto;
}
.btn_01 a{
    display: block;
    position: relative;
    transition: .2s;
}

.btn_01 a::before,
.btn_01 a::after{
    content: "";
    position: absolute;
    z-index: -10;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-radius: 23px;
    transform: translate3d(0,0,0);
  max-width: 700px;
}
.btn_01 a::before{
    animation: aura 3s ease-out infinite;
}
.btn_01 a::after{
    animation: aura 3s ease-out 1.5s infinite;
}


.btn_01 a::before,
.btn_01 a::after{
    background: #ffa4a4;
    border: 1px solid #ffa4a4;
}


@keyframes aura{
    0%{transform:scale(.95); opacity:1}
    50%{opacity:.1}to{transform:scale(1.2,1.5); opacity:0}
}
@keyframes aura2{
    0%{transform:scale(.95); opacity:1}
    50%{opacity:.1}to{transform:scale(1.1,1.2); opacity:0}
}
.scroll{
    display: block;
    margin: 0 auto;
    margin-bottom: 35px;
    margin-top: 20px;
}

@media screen and (max-width:768px) {
    .sp_ds{
    display:block;
    }
    a.houjin_top {
    padding-top: 20px;
    margin-top: -20px;
    }
    .houjin span{
    font-size: 1rem;
    }
    .vc_inner{
        display: block;
    }
    .vc_inner>div:first-child{
        width: 70%;
        margin: 0 auto 15px;
    }
    .vc_inner>div:first-child img{
        border: 1px solid #333;
        margin-bottom: 10px;
    }
    .vc_inner>div:first-child a img{
        width: 60% !important;
        margin: 0 auto;
        border: none;
    }
    .vc_inner>div:last-child{
        width: 100%;
    }
    .vc_inner>div:last-child>img{
        width: 50%;
        margin-bottom: 0;
    }
}
  
.btn_01{
    margin-top: -35px;
}
.co_re{
    color: #e10000;
    text-align: center;
    font-size: 1.8em;
    font-weight: bold;
}
.co_bl{
    color: #000;
    text-align: center;
    font-size: 1.8em;
    font-weight: bold;
}

@media screen and (max-width:768px) {
    .sp {
    display: block;
    }
    .floatbox_sp {
    color: #fff;
    text-align: center;
    padding: 11% 0;
    position: absolute;
    bottom: 0;
    }
    .ScrollTop.isActive {
        opacity: 1;
        transition: all 0.65s;
    }
    	.btn_01{
	    width: 95%;
	}
	.co_re {
        font-size: 1em;
    }
    .scroll{
        width: 20%;
    }
}
/* 点滅 */
.blinking{
	-webkit-animation:blink 0.8s ease-in-out infinite alternate;
    -moz-animation:blink 0.8s ease-in-out infinite alternate;
    animation:blink 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.marker {
    background: linear-gradient(transparent 50%, #facc1691 50%);
}  



.trouble-attention h2{
    background: #facc16;
    text-align: center;
    margin-bottom: 0;
}
.trouble-attention h2 picture{
    margin: auto;
}
.ta_main{
    background-image: url('../img/ta_bg.jpg');
    background-size: cover;
    padding: 25% 0;
    position: relative;
}
.ta_main>img{
    display: block;
    object-fit: contain;
    width: 60%;
    margin: auto;
    position: relative;
    z-index: 3;
}
.ta_child_01,
.ta_child_02,
.ta_child_03,
.ta_child_04{
    position: absolute;
    z-index: 2;
    border-radius: 10px;
    background-color: #fff;
    color: #333;
    display: block;
    text-align: center;
    width: 43%;
    padding: 10px 0;
    font-weight: bold;
    font-size: 16px;
    font-style: italic;
}
.ta_child_01{
    top: 10%;
    left: 3%;
}
.ta_child_02{
    top: 10%;
    right: 3%;
}
.ta_child_03{
    bottom: 12%;
    left: 3%;
}
.ta_child_04{
    bottom: 12%;
    right: 3%;
}

.alart{
    background:repeating-linear-gradient(-45deg, #272a28, #272a28 15px, #343735 0, #343735 30px);
    padding: 10% 0;
    position: relative;
}
.alart>img{
    position: absolute;
    height: 90%;
    margin: auto;
    left: 0;
    right: 0;
    top: 5%;
}
.alart>p{
    color: #facc16;
    font-weight: bold;
    font-style: italic;
    font-size: 26px;
    display: block;
    text-align: center;
}
.alart+.arrow{
    display: block;
    text-align: center;
    transform: scaleX(7);
    font-size: 40px;
    margin: 0 auto;
    opacity: .8;
}

.trouble_check_box{
    width: 90%;
    margin: 0 auto 1.5%;
    border: 2px solid #272a28;
    background-color: #eee;
    padding: 13px 10px;
}
.trouble_check_box p>b{
    font-size: 1.2em;
}
.ta_close{
    margin-bottom: 7%;
}

/*
.tel_text{
    color: #ff5907;
    font-size: 26px;
    font-weight: bold;
    display: block;
    text-align: center;
    margin: 10% auto 15%;
    line-height: 1.3;
    font-style: italic;
    text-decoration: underline;
}
*/
.tel_text img{
    display: block;
    width: 50%;
    margin: 6% auto 9%;
}



@media screen and (min-width: 769px) {
    .sp{
        display: none;
    }
    .trouble-attention h2 picture{
        width: 55%;
    }
    .ta_main{
        padding: 3% 0;
    }
    .ta_main>img{
        width: 25%;
    }
    .ta_child_01,
    .ta_child_02,
    .ta_child_03,
    .ta_child_04{
        width: 20%;
        font-size: 20px;
    }
    .ta_child_01{
        top: 12%;
        left: 23%;
    }
    .ta_child_02{
        top: 12%;
        right: 23%;
    }
    .ta_child_03{
        bottom: 18%;
        left: 23%;
    }
    .ta_child_04{
        bottom: 18%;
        right: 23%;
    }
    .alart{
        padding: 2% 0;
    }
    .alart>img{
        height: 86%;
        top: 7%;
    }
    .alart>p{
        font-size: 60px;
    }
    .alart+.arrow{
        font-size: 70px;
    }
    .trouble_check_box{
        width: 35%;
    }
    .trouble_check_box p{
        font-size: 22px;
        margin-top: 10px;
        padding-bottom: 5px;
        border-bottom: 1px dashed #272a28;
    }
    .trouble_check_box p:last-child{
        border: none;
    }
    .tel_text{
        margin: 5% auto 8%;
        font-size: 46px;
    }
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: 10000;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
  /*content: "";*/
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
  opacity: 1;
  visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

/*モーダルを閉じるボタンの指定*/
.modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -15px;
  right: -10px;
  width: 40px;
  height: 40px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
}
/*法人ポップ用　モーダルを閉じるボタンの指定*/
.modal-close2{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 18%;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: rgb(255, 21, 21);
    cursor: pointer;
    background: #fff;
  }
/*モーダル内のコンテンツの指定*/
.modal-content{
  width: 75%;
  margin: auto;
  background-color: #fffcdb;
}
.btn_popup{
  margin-bottom: 10px;
  display: inline-block;
}

.text_popup {
  font-size: 23px;
  text-align: center;
  padding: 15px;
  display: flex;
  margin: 0 16px;
  justify-content: space-between;

}

.text_popup_05 {
  letter-spacing: -0.08em;

}

/*法人ポップ用　モーダル内のコンテンツの指定*/
.modal-content2{
    width: 70%;
    margin: auto;
    background-color: #fff;
    padding: 5% 3%;
    max-height: 600px;
    overflow-y: scroll;
  }
  .text_popup2 {
    text-align: center;
    padding: 15px 0 1%;
    display: block;
    margin-bottom: 1%;
  }
.text_popup2 p{
    text-align: center;
    font-size: 16px;
    margin-bottom: 3%;
}
.btn_popup2{
    margin-bottom: 10px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    margin-top: -2%;
}
.btn_popup2 p{
    text-align: center;
}


@media (max-width: 767px) { 
    .modal-content{
    width: 100%;
    }
    .modal-close {
    color: #fff;
    }
    .btn_under_hojin{
        margin: 8% auto 0;
    }
    .modal-content2{
        width: 94%;
        max-height: 550px;
        padding: 7% 5%;
    }
    .btn_popup2 p{
        font-size: 0.8em;
    }
    .text_popup2 p{
        font-size: 14px;
    }
    .modal-close2{
        position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 6%;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: rgb(255, 21, 21);
    cursor: pointer;
    background: #fff;
    }
}

@media (min-width: 767px) { 
    .modal-close {
    right: 50px;
    }
}
@media (max-width: 767px) { 
.btn_popup{
  margin-bottom: 5px;
  display: inline-block;
}

.text_popup{
  font-size: 13px;
  text-align: center;
  padding: 15px;
  display: flex;
  margin: 0 5px;
  justify-content: space-between;
 

}
  .text_popup_05{
  letter-spacing: -0.02em;
 
}
  }

.content_caution {
  max-width: 100%;
  margin-top: 50px;

}
.anshin{
  max-width: 100%;
  margin-top: 30px;
  margin-bottom: 20px;

}
@media (max-width: 767px) { 
    
  .content_caution {
  max-width: 100%;
    margin-top: 20px;
    }
    .anshin{
  max-width: 100%;
  margin-top: 50px;
      margin-top: 15px;
  margin-bottom: 30px;
}

.btn_01 {
    width: 100%;
    margin: 0 auto;
    display: block;
}
    }
    
@media (min-width: 767px) { 
    .modal-content img {
        width: 100%;
    }
}


/* モーダルウィンドウ */
.madal_container {
	background: rgba(0, 0, 0, .7);
	position: fixed;
	width: 100%;
	height: 100%;
    top: 0;
	display: none;
	z-index: 10000;
}
.madal_contents {
    width: 29%;
    height: auto;
    position: absolute;
    top: 44%;
    left: 50%;
	  -ms-transform: translate(-50%, -50%);
	  -webkit-transform: translate(-50%, -50%);
	  transform: translate(-50%, -50%);
}
.madal_contents span {
	  cursor: pointer;
	  position: absolute;
	  top: -38px;
	  right: -33px;
	  color: #fff;
	  font-size: 2em;
	  z-index: 11111;
	  font-weight: bold;
}
.active {
	  display: block!important;
	  animation-name: fadeIn;
	  animation-duration: .2s;
	  animation-fill-mode: both;
}

@media only screen and (max-width: 1000px) {
.madal_contents {
	  width: 70%;
	  height: auto;
	  position: absolute;
	  top: 15%;
	  left: 0;
	  right: 0;
	  margin: auto;
	  transform: inherit;
}
.madal_contents span {
	  cursor: pointer;
	  position: absolute;
	  top: -26px;
	  right: -23px;
	  color: #fff;
	  font-size: 1.5em;
	  Z-INDEX: 11111;
	  font-weight: bold;
}
.madal_contents img{
    width: 100%;   
}
.rela{
    position: relative;
}
}

.hour {
    font-size: min(4vw,64px);
    font-weight: bold;
    z-index: 1;
    color: #fb4a04;
}
.hour::after {
    content: '';
    width: 107%;
    top: 38%;
    left: -3%;
    max-height: 30px;
    height: 20%;
    position: absolute;
    background: linear-gradient(to right, #fff9b2 0%, #f7ff06 100%);
    z-index: 0;
}
#hour{
    position: relative;
    z-index: 1;
}
.hour-all{
    -webkit-transform: rotate(-4deg);
    position: absolute;
    left: 16%;
    z-index: 1;
    top: 0.95%;
}
.hour-text {
    font-size: min(2vw,30px);
    font-weight: bold;
    z-index: 1;
    margin-top: -12px;
}
.main{
    position: relative;
    overflow: hidden;
}
.hour span{
    font-size: min(2.2vw,37px);
    color:#000;
}

@media screen and (max-width:768px) {
   .hour-all {
    -webkit-transform: rotate(-4deg);
    position: absolute;
    left: 4%;
    z-index: 1;
    top: 0.7%;
} 
.hour {
    font-size: min(10vw,32px);
    font-weight: bold;
    z-index: 1;
    color: #fb4a04;
}
.hour-text {
    font-size: min(4.2vw,20px);
    font-weight: bold;
    z-index: 1;
    margin-top: -12px;
}
.hour span{
    font-size: min(4.4vw,20px);
    color:#000;
}
}
.construction_case{
    background: #fffcdb;
    padding-bottom: 3vw;
}
.construction_case .inner{
    max-width: 700px;
    padding-top: 20px;
}
.construction_case h2 span{
    position: relative;
    display: inline-block;
}
/* 写真あり */
/* .construction_case h2 span::after {
    content: '';
    display: inline-block;
    width: 105px;
    height: 105px;
    background-image: url(../img/icon.png);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 36px;
    right: -300px;
} */
.construction_case .accordion {
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    max-width: 300px;
    position: relative;
    width: 100%;
  }
  .accordion-item{
    border: 2px solid #0f5899;
    background-color: #fff;
    padding: 1.5% 3% 0.5%;
    border-radius: 15px;
    margin-bottom: 15px;
  }
  figure{
    float: left;
    margin: 0 15px 0px 0;
    width: 50%;
  }

  .accordion-title {
    color: #000;
    cursor: pointer;
    font-size: 1.3rem;
    padding: 0.5% 0 0 1.5%;
    border-left: 10px solid #FC7600;
    position: relative;
    margin-bottom: 2rem;
  }
  .accordion-title span{
    position: absolute;
    font-size: 1rem;
    font-weight: normal;
  }
  .accordion-content {
    display: none;
    min-height: 255px;
  }
  .accordion-content p {
    font-size: 1rem;
    line-height: 1.5;
  }
 
  .accordion-content p:nth-of-type(1) .pri{
    background-color: #fffcdb;
    padding: 2%;
    color: #FC7600;
    display: inline-block;
    font-weight: bold;
    font-size: 1.7rem;
  }

  /* 矢印 */
  .accordion-title {
    position: relative;
  }
  .accordion-title::after {
    content: "▼";
    color: #025490;
    display: block;
    font-size: 1.8rem;
    height: 8px;
    position: absolute;
    right: 25px;
    top: 24%;
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    width: 8px;
  }
  .accordion-title.open::after {
    content: "▲";
  }
  br.sp{
    display: none;
  }
  /* ----------ここからstyle------------------- */
.grad-item{
    font-size: 13px!important;
}
.grad-item p{
    font-size: 13px!important;
}
.grad-wrap{
    position: relative;
}
.grad-btn {
    z-index: 6;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 280px;
    margin: auto;
    padding: 0.5em 0;
    border-radius: 30px;
    background: #FC7600;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    font-size: 17px!important;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}
.grad-item {
    position: relative;
    overflow: hidden;
    height: 500px; /*隠した状態の高さ*/
}
.grad-item::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px; /*グラデーションで隠す高さ*/
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, #fffcdba4 50%, #fffcdbd9 50%, #fffcdb 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, #fffcdb 50%, #fffcdbd9 50%, #fffcdb 100%);
    content: "";
    z-index:5 ;
}
.grad-trigger {
    display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked + .grad-btn {
    display: none; /*チェックされていたら、grad-btnを非表示にする*/
}
.grad-trigger:checked ~ .grad-item {
    height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
    display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}





@media screen and (max-width:768px){
.construction_case .inner{
    padding: 3%;
}
.accordion-title {
    font-size: 1.1rem;
    padding-right: 14%;
}
.accordion-item {
    padding: 2% 3% 0.5%;
}
.accordion-title::after {
    font-size: 1.5rem;
}
.accordion-content p:nth-of-type(1) .pri {
    line-height: 0.5rem;
}
br.sp{
    display: block;
}
.accordion-title {
    border-left: 7px solid #FC7600;
}
}
.cold_top {
    margin-bottom:20px;
}