@charset "UTF-8";
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, th, td, main, figure {
  margin: 0;
  padding: 0; }

table {
  font-size: 100%;
  font-family: inherit; }

fieldset, img {
  border: 0; }

img, svg, video {
  vertical-align: middle; }

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: 400; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

select, input, textarea {
  font-size: 100%; }

header, footer, nav, main, section, article, figure, aside, picture {
  display: block; }

.clearfix:after, .row:after {
  content: "";
  display: table;
  clear: both; }

.fl {
  float: left; }

.fr {
  float: right; }

.d_grid{
    display: grid;
}

@media screen and (min-width: 768px), print {
  .pc_fl {
    float: left; }

  .pc_fr {
    float: right; } }
@media screen and (max-width: 767px) {
  .sp_fl {
    float: left; }

  .sp_fr {
    float: right; } }
.tal {
  text-align: left !important; }

.tac {
  text-align: center !important; }

.tar {
  text-align: right !important; }

@media screen and (min-width: 768px), print {
  .pc_tal {
    text-align: left !important; }

  .pc_tac {
    text-align: center !important; }

  .pc_tar {
    text-align: right !important; } }
@media screen and (max-width: 767px) {
  .sp_tal {
    text-align: left !important; }

  .sp_tac {
    text-align: center !important; }

  .sp_tar {
    text-align: right !important; } }
.m00 {
  margin: 0 !important; }

.mb00 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 5px !important; }

.mb08 {
  margin-bottom: 8px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mt00 {
  margin-top: 0 !important; }

.mt05 {
  margin-top: 5px !important; }

.mt08 {
  margin-top: 8px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

@media screen and (min-width: 768px), print {
  .pc_m00 {
    margin: 0 !important; }

  .pc_mb00 {
    margin-bottom: 0 !important; }

  .pc_mb05 {
    margin-bottom: 5px !important; }

  .pc_mb08 {
    margin-bottom: 8px !important; }

  .pc_mb10 {
    margin-bottom: 10px !important; }

  .pc_mb15 {
    margin-bottom: 15px !important; }

  .pc_mb20 {
    margin-bottom: 20px !important; }

  .pc_mb25 {
    margin-bottom: 25px !important; }

  .pc_mb30 {
    margin-bottom: 30px !important; }

  .pc_mb35 {
    margin-bottom: 35px !important; }

  .pc_mb40 {
    margin-bottom: 40px !important; }

  .pc_mb45 {
    margin-bottom: 45px !important; }

  .pc_mb50 {
    margin-bottom: 50px !important; }

  .pc_mt00 {
    margin-top: 0 !important; }

  .pc_mt05 {
    margin-top: 5px !important; }

  .pc_mt08 {
    margin-top: 8px !important; }

  .pc_mt10 {
    margin-top: 10px !important; }

  .pc_mt15 {
    margin-top: 15px !important; }

  .pc_mt20 {
    margin-top: 20px !important; }

  .pc_mt25 {
    margin-top: 25px !important; }

  .pc_mt30 {
    margin-top: 30px !important; }

  .pc_mt35 {
    margin-top: 35px !important; }

  .pc_mt40 {
    margin-top: 40px !important; }

  .pc_mt45 {
    margin-top: 45px !important; }

  .pc_mt50 {
    margin-top: 50px !important; } }
@media screen and (max-width: 767px) {
  .sp_m00 {
    margin: 0 !important; }

  .sp_mb00 {
    margin-bottom: 0 !important; }

  .sp_mb05 {
    margin-bottom: 5px !important; }

  .sp_mb08 {
    margin-bottom: 8px !important; }

  .sp_mb10 {
    margin-bottom: 10px !important; }

  .sp_mb15 {
    margin-bottom: 15px !important; }

  .sp_mb20 {
    margin-bottom: 20px !important; }

  .sp_mb25 {
    margin-bottom: 25px !important; }

  .sp_mb30 {
    margin-bottom: 30px !important; }

  .sp_mb35 {
    margin-bottom: 35px !important; }

  .sp_mb40 {
    margin-bottom: 40px !important; }

  .sp_mb45 {
    margin-bottom: 45px !important; }

  .sp_mb50 {
    margin-bottom: 50px !important; }

  .sp_mt00 {
    margin-top: 0 !important; }

  .sp_mt05 {
    margin-top: 5px !important; }

  .sp_mt08 {
    margin-top: 8px !important; }

  .sp_mt10 {
    margin-top: 10px !important; }

  .sp_mt15 {
    margin-top: 15px !important; }

  .sp_mt20 {
    margin-top: 20px !important; }

  .sp_mt25 {
    margin-top: 25px !important; }

  .sp_mt30 {
    margin-top: 30px !important; }

  .sp_mt35 {
    margin-top: 35px !important; }

  .sp_mt40 {
    margin-top: 40px !important; }

  .sp_mt45 {
    margin-top: 45px !important; }

  .sp_mt50 {
    margin-top: 50px !important; } }
.p00 {
  padding: 0 !important; }

.pb00 {
  padding-bottom: 0 !important; }

.pb05 {
  padding-bottom: 5px !important; }

.pb08 {
  padding-bottom: 8px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pt00 {
  padding-top: 0 !important; }

.pt05 {
  padding-top: 5px !important; }

.pt08 {
  padding-top: 8px !important; }

.pt10 {
  padding-top: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pt20 {
  padding-top: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pt30 {
  padding-top: 30px !important; }

.pt35 {
  padding-top: 35px !important; }

.pt40 {
  padding-top: 40px !important; }

.pt45 {
  padding-top: 45px !important; }

.pt50 {
  padding-top: 50px !important; }

@media screen and (min-width: 768px), print {
  .pc_p00 {
    padding: 0 !important; }

  .pc_pb00 {
    padding-bottom: 0 !important; }

  .pc_pb05 {
    padding-bottom: 5px !important; }

  .pc_pb08 {
    padding-bottom: 8px !important; }

  .pc_pb10 {
    padding-bottom: 10px !important; }

  .pc_pb15 {
    padding-bottom: 15px !important; }

  .pc_pb20 {
    padding-bottom: 20px !important; }

  .pc_pb25 {
    padding-bottom: 25px !important; }

  .pc_pb30 {
    padding-bottom: 30px !important; }

  .pc_pb35 {
    padding-bottom: 35px !important; }

  .pc_pb40 {
    padding-bottom: 40px !important; }

  .pc_pb45 {
    padding-bottom: 45px !important; }

  .pc_pb50 {
    padding-bottom: 50px !important; }

  .pc_pt00 {
    padding-top: 0 !important; }

  .pc_pt05 {
    padding-top: 5px !important; }

  .pc_pt08 {
    padding-top: 8px !important; }

  .pc_pt10 {
    padding-top: 10px !important; }

  .pc_pt15 {
    padding-top: 15px !important; }

  .pc_pt20 {
    padding-top: 20px !important; }

  .pc_pt25 {
    padding-top: 25px !important; }

  .pc_pt30 {
    padding-top: 30px !important; }

  .pc_pt35 {
    padding-top: 35px !important; }

  .pc_pt40 {
    padding-top: 40px !important; }

  .pc_pt45 {
    padding-top: 45px !important; }

  .pc_pt50 {
    padding-top: 50px !important; } }
@media screen and (max-width: 767px) {
  .sp_p00 {
    padding: 0 !important; }

  .sp_pb00 {
    padding-bottom: 0 !important; }

  .sp_pb05 {
    padding-bottom: 5px !important; }

  .sp_pb08 {
    padding-bottom: 8px !important; }

  .sp_pb10 {
    padding-bottom: 10px !important; }

  .sp_pb15 {
    padding-bottom: 15px !important; }

  .sp_pb20 {
    padding-bottom: 20px !important; }

  .sp_pb25 {
    padding-bottom: 25px !important; }

  .sp_pb30 {
    padding-bottom: 30px !important; }

  .sp_pb35 {
    padding-bottom: 35px !important; }

  .sp_pb40 {
    padding-bottom: 40px !important; }

  .sp_pb45 {
    padding-bottom: 45px !important; }

  .sp_pb50 {
    padding-bottom: 50px !important; }

  .sp_pt00 {
    padding-top: 0 !important; }

  .sp_pt05 {
    padding-top: 5px !important; }

  .sp_pt08 {
    padding-top: 8px !important; }

  .sp_pt10 {
    padding-top: 10px !important; }

  .sp_pt15 {
    padding-top: 15px !important; }

  .sp_pt20 {
    padding-top: 20px !important; }

  .sp_pt25 {
    padding-top: 25px !important; }

  .sp_pt30 {
    padding-top: 30px !important; }

  .sp_pt35 {
    padding-top: 35px !important; }

  .sp_pt40 {
    padding-top: 40px !important; }

  .sp_pt45 {
    padding-top: 45px !important; }

  .sp_pt50 {
    padding-top: 50px !important; } }
a[href] {
  color: #000000;
  text-decoration: none;
  outline: none; }

a[href]:hover {
  text-decoration: none; }

a[href].a_reverse,
.a_reverse a[href] {
  text-decoration: none; }

.pc {
  display: block; }
  @media only screen and (max-width: 768px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp {
      display: block; } }

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  word-wrap: break-word; }

html.no-scroll-behavior {
  scroll-behavior: auto; }

body {
  background-color: #fff;
  font-size: 1.6rem;
  font-feature-settings: "palt";
  line-height: 2;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  text-size-adjust: none; }

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

label, button {
  cursor: pointer; }

input, select, textarea, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  vertical-align: middle;
  font-family: inherit;
  outline: none;
  font-size: 100%; }

::-webkit-input-placeholder {
  color: #808080; }

:-ms-input-placeholder {
  color: #808080; }

::-moz-placeholder {
  color: #808080; }

select::-ms-expand {
  display: none; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt50 {
  margin-top: 50px !important; }
  @media only screen and (max-width: 768px) {
    .mt50 {
      margin-top: 5vw !important; } }

.mt80 {
  margin-top: 80px !important; }

.mt100 {
  margin-top: 100px !important; }
  @media only screen and (max-width: 768px) {
    .mt100 {
      margin-top: 10vw !important; } }

.mt200 {
  margin-top: 200px !important; }

.mb0 {
  margin-bottom: 0 !important; }

.pt10 {
  padding-top: 10px !important; }

.pt50 {
  padding-top: 50px !important; }

.pt100 {
  padding-top: 100px !important; }

.pt200 {
  padding-top: 200px !important; }

.pt250 {
  padding-top: 250px !important; }

.pt300 {
  padding-top: 300px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pb200 {
  padding-bottom: 200px !important; }

.pd10 {
  padding: calc(0.5 * var(--global--spacing-unit)); }

.pd50 {
  padding: 50px !important;
  box-sizing: border-box; }
  @media only screen and (max-width: 768px) {
    .pd50 {
      padding: 20px !important; } }

.w1300 {
  max-width: 1300px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .w1300 {
      width: 100%; } }

.w1040 {
  width: 1040px;
  margin: 0 auto;
  box-sizing: border-box; }
  @media only screen and (max-width: 768px) {
    .w1040 {
      width: 100%;
      padding: 0; } }

.w800 {
  width: 800px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .w800 {
      width: 100%; } }

.section_box {
  padding: 70px 0 110px; }

li {
  list-style: none; }

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

h2 {
  font-size: 2rem;
  margin-bottom: 0;
  letter-spacing: 0.2em; }

p {
  text-align: justify;
  text-justify: inter-ideograph;
  font-size: 1.6rem;
  font-weight: 400; }
.fwb{font-weight: bold;}
  @media only screen and (max-width: 768px) {
    p {
      font-size: 1.4rem;
      margin: 0; } }

.tac {
  text-align: center; }

.d_flex {display: flex;}

.d_flex_pc {display: flex;}
  @media only screen and (max-width: 768px) {
    .d_flex_pc {
      display: flex;
      flex-direction: column;
     } }

.w30 {
  width: 30%;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .w30 {
      width: 60%; } }

.w40 {
  width: 40%;
  margin: 0 auto; }

.w50 {
  width: 50%;
  margin: 0 auto; }

.w70 {
  width: 70%;
  margin: 0 auto; }

@media screen and (min-width: 768px) {
  body.init a[href],
  body.init a[href]::before,
  body.init a[href]::after,
  body.init button,
  body.init button::before,
  body.init button::after,
  body.init .basic_trs,
  body.init .basic_trs::before,
  body.init .basic_trs::after,
  body.init .basic_trs *,
  body.init .basic_trs *::before,
  body.init .basic_trs *::after {
    transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out; }

  body.init a svg {
    transition: fill 0.2s ease-in-out; } }



/* アニメーション ----------------------------*/
.mov_show{
	position: Z;
	opacity: 0;
}
/* 下から上にフワッと出る */
.fade_up{
	transform: translate(0, 50px);
  -webkit-transform: translate(0, 50px);
}
.showed{
	opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
}
.ov_h{overflow: hidden;}

/* フワッとでる---- */
.blur.showed{
	animation-name:blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}
@keyframes blurAnime{
	from {
	filter: blur(10px);
	transform: scale(1.02);
	}
  
	to {
	filter: blur(0);
	transform: scale(1);
	}
  }

/* delay-------*/
.delay-1 {transition-delay: 0.5s;}
.delay-2 {transition-delay: 1.0s;}
.delay-3 {transition-delay: 1.5s;}
.delay-4 {transition-delay: 2s;}