@charset "UTF-8";

*,
::before,
::after{
  box-sizing:border-box;
}

:lang(en){
  font-family:Arial, sans-serif;
}

.is-focus,
:focus:not(:focus-visible){
  outline:0;
}

html{
  height:100%;
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-size:0.625em;
  font-size:calc(1em * 0.625);
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
          text-size-adjust:100%;
}

body{
  min-width:320px;
  margin:auto;
  background-color:#fff;
  color:#000;
  font-size:1.6rem;
  line-height:1.6;
}

main{
  display:block;
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-size:2rem;
  font-weight:400;
  line-height:inherit;
}

figure,
p{
  margin:0;
}

ul,
ol{
  padding:0;
  list-style:none;
}

dl dt,
dl dd{
    padding:0;
    margin:0;
  }

ul ul,
ul ol,
ol ol,
ol dl,
dl ol,
dl ul,
dl dl{
  margin:0;
}

table{
  border-collapse:collapse;
  border-spacing:0;
}

table th,
table td{
    word-break:break-all;
  }

em{
  font-style:normal;
  font-weight:700;
}

strong{
  color:#db3838;
  font-style:normal;
  font-weight:400;
}

small{
  font-size:inherit;
}

sup{
  font-size:0.6em;
}

img{
  max-width:100%;
  height:auto;
  border-style:none;
}

:link,
:visited{
  color:#0ca26c;
  text-decoration:underline;
}

:link:hover, :visited:hover{
    text-decoration:none;
  }

a{
  word-break:break-all;
}

a:not([href],
[role="button"]){
  cursor:default;
  text-decoration:none;
}

[href^="tel:"]{
  pointer-events:none;
  text-decoration:none;
  word-break:break-word;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"]:not([aria-disabled="true"]),
[role="tab"]:not([aria-selected="true"]){
  cursor:pointer;
}

button{
  overflow:visible;
  padding:0;
  border:0;
  margin:auto;
  background:transparent;
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  word-break:break-all;
}

button:disabled,
button[aria-disabled="true"]{
    cursor:default;
  }

iframe{
  border:0;
}

:is(
.p-main
) > :first-child{
    margin-top:0 !important;
  }

:is(
.p-main
) > :last-child{
    margin-bottom:0 !important;
  }

.p-header{
  padding:0 20px;
}

.p-header__inner{
  display:flex;
  max-width:1280px;
  min-height:55px;
  align-items:center;
  justify-content:space-between;
  margin:auto;
  gap:10px;
}

.p-header__left,
.p-header__right{
  margin:0;
  font-size:0;
  line-height:1;
}

.p-header__logo{
  display:inline-block;
}

.p-header__logoImage{
  vertical-align:middle;
}

.p-kv{
  margin:0;
  background-color:#0aa26c;
}

.p-kv__viewport{
  display:block;
  max-width:1920px;
  margin:auto;
}

.p-kv__image{
  width:100%;
  vertical-align:bottom;
}

#pageTop{
  position:fixed;
  z-index:2;
  right:1.86vw;
  bottom:14.39vw;
  display:block;
  width:9.33vw;
  height:9.33vw;
}

#pageTop:link,
#pageTop:visited{
    transition:opacity 0.3s;
  }

#pageTop:link:hover, #pageTop:visited:hover{
      opacity:0.7;
    }

@media (min-width: 768px){
  body{
    font-size:1.8rem;
    line-height:1.6666666666666667;
  }
  .p-header__inner{
    min-height:80px;
  }
  #pageTop{
    right:19px;
    bottom:86px;
    width:50px;
    height:50px;
  }
}
