@charset "utf-8";

*,::before,::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
:root {
  counter-reset: num;

  /* colors 見本*/
  --black: #000;
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #eb0000;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --orange-light: #f68d2e;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #6E6964;

  /* colors 使用*/
  --white: #fff;
  --background-color: var(--white);
  --text-color: #6E6964;
  --text-color-linghtbrown:#AA9881;
  --con-back-color: #FAF6F6;
  --con-back-color-pink: #F9E5E2;
  --con-back-color-redpink: #F7C2BB;
  --con-back-color-brown: #CEC0AE;
  --line-color-linghtbrown: #AA9881;
  --line-color-blackbrown: #6E6964;
  --link-back-color: var(--con-back-color);
  --gradient-pink-color01: linear-gradient(90deg, #FFD5CF 0%, #FFF6F5 100%);
  --gradient-pink-color02: linear-gradient(180deg, #FFD5CF 0%, #FFF6F5 100%);
  --gradient-brown-color:linear-gradient(90deg, rgba(250, 246, 246, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  --link-color-gradient-pink: linear-gradient(90deg, #FFD5CF 0%, #FFF6F5 50%, #FFD5CF 100%);
  /* fonts */
  --kaku-font-family:"Zen Kaku Gothic New", sans-serif;
  --maru-font-family:"Zen Maru Gothic","YuGothic","Yu Gothic","游ゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;
  --heading-font-family: var(--maru-font-family);
  --primary-font-family:var(--maru-font-family);

  /* body sizes */
  --body-font-size-32:clamp(28px, 26.182px + 0.485vw, 32px);
  --body-font-size-30:clamp(25px, 22.727px + 0.606vw, 30px);
  --body-font-size-28:clamp(22px, 19.273px + 0.727vw, 28px);
  --body-font-size-26:clamp(20px, 17.273px + 0.727vw, 26px);
  --body-font-size-24:clamp(21px, 19.636px + 0.364vw, 24px);
  --body-font-size-20:clamp(18px, 17.091px + 0.242vw, 20px);
  --body-font-size-18:clamp(16px, 15.091px + 0.242vw, 18px);
  --body-font-size-16:clamp(14px, 15.091px + 0.202vw, 16px);
  --body-font-size-14:clamp(13px, 12.545px + 0.121vw, 14px);
  --body-font-size-12:clamp(12px, 12.000px + 0vw, 12px);
  --body-font-size-10:clamp(10px, 10.000px + 0vw, 10px);
  /* Heading Variables */
  --h1-font-size:clamp(25px, 19.231px + 1.538vw, 50px);
  --h2-font-size:clamp(23px, 19.818px + 0.848vw, 30px);
  --h3-font-size:clamp(20px, 18.182px + 0.485vw, 24px);
  --h4-font-size:clamp(18px, 17.091px + 0.242vw, 20px);
  /* Font Weight */
  --font-weight-small: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-bolder: 900;

  /* Font Style */
  --font-style-normal: normal;

  /* nav height */
  --nav-top-height: 0px;
  --nav-middle-height: 60px;
  --nav-bottom-height: 52px;
  --nav-total-height: calc(
    var(--nav-top-height) + var(--nav-middle-height) + var(--nav-bottom-height)
  );
  /* width */
  --max-width-1200: 1200px;
  /* transition */
  --transition-all-typeA : all 0.5s;
  --transition-all-typeB : all 1.5s;

  /*transform*/
  --transform-50-Y:translateY(-50%);
  --transform-50-X:translateX(-50%);

  /*row-gap*/
  --row-gap-30: 30px;
  /**/
 

}

html {
  -webkit-text-size-adjust: 100%; 
  -webkit-tap-highlight-color: transparent; 
}
body {
  font-family: var(--primary-font-family);
  font-style: normal;
  font-size: var(--body-font-size-16);
  color:var(--text-color);;
  background:var(--background-color) ;
  margin: 0;
  padding: 0;
  min-height: 100%;
  min-width: 250px;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}

.font-kaku {
  font-family: var(--kaku-font-family); 
  font-style: normal;
  font-weight: normal;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl{
  margin: 0;
  padding: 0;
  list-style-type:none;
  text-align: justify;
}
h1, h2, h3, h4, h5, h6{
  line-height: 2em;
   font-family: var(--body-font-family); 
  font-weight: var(--font-weight-bold);
}
p,dl,ul,ol{
  line-height: 1.7em;
}
dt,dd {
  margin-left: 0;
}
p{
  margin-bottom:clamp(20px, 21.761px + -0.469vw, 15px);
}
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary{
  display:block;
}
section p:last-child,article p:last-child,dd:last-of-type,li:last-of-type {
  margin-bottom:0;
}
table,blockquote,address,pre,iframe,form,figure,dl {
  margin: 0;
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  transition: all 0.5s;
  font-weight: 400;
}
a:not([class]):hover,
.opa:hover {
  opacity: .5;
}
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}
td,th {
  vertical-align: middle;
  padding: 0;
  font-weight: normal;
}
/*
table th:last-child, table td:last-child {
border-right: none;
}
table tr:last-child th, table tr:last-child  td {
border-bottom: none;
}
*/
img,video {
  max-width: 100%;
  height: auto;
}
.d_b {
  display: block!important;
}
/*  fade  */
.fadein {
  opacity: 0;
  transition: all 1.5s!important;
}
.fadein.is-show {
  opacity: 1;
}
.on1366, .on1280, .on1024, .on768, .on480, .on375 {
  display: none;
}
@media (min-width:1367px) {
  .off1366 {
    display: none;
  }
  .on1366 {
    display: block;
  }
}
@media (max-width:1280px) {
  .off1280 {
    display: none !important;
  }
  .on1280 {
    display: block !important;
  }
}
@media (max-width:1024px) {
  .off1024 {
    display: none;
  }
  .on1024 {
    display: block;
  }
}
@media (max-width:768px) {
  .off768 {
    display: none;
  }
  .on768 {
    display: block;
  }
}
@media (max-width:480px) {
  .off480 {
    display: none;
  }
  .on480 {
    display: block;
  }
}
  .flex {
display: flex;
flex-wrap: wrap;
  }

@media (max-width: 767px) {
  body {
   line-height: 2em;
  }
  main {
    margin-bottom: 90px;
  }
  .dn_mob {
    display: none!important;
  }

  .fadein_up_early,.fadein_up,.fadein_up_slow{
    opacity: 0;
    transition: all 1.5s!important;
  }
  .fadein_up.is-show,.fadein_up_early.is-show,.fadein_up_slow.is-show {
    opacity: 1;
  }

  .flex_pc {
    display: block;
  }
/*  .flex_pc figure {
    width: 90%;
    display: block;
    margin: 0 auto 1rem;
  }*/
}
@media (min-width: 768px) {
  .dn_pc {
    display: none!important;
  }
  .fadein_up_early {
    opacity: 0;
    transform: translate(0, 20%);
    transition: all 0.5s!important;
  }
  .fadein_up,.fadein_up_pc {
    opacity: 0;
    transform: translate(0, 30%);
    transition: all 1s!important;
  }
  .fadein_up_slow {
    opacity: 0;
    transform: translate(0, 40%);
    transition: all 1.5s!important;
  }
  .fadein_up.is-show,.fadein_up_early.is-show,.fadein_up_slow.is-show,.fadein_up_pc.is-show {
    transform: translate(0, 0);
    opacity: 1;
  }
  .flex_pc {
display: flex;
flex-wrap: wrap;
  }
}
