* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
::after,
::before {
  box-sizing: border-box;
}
:root {
  --font-default:"Noto Sans JP",sans-serif;
  --font-myanmar:"Noto Sans Myanmar",sans-serif;
  --font-en:"Montserrat",sans-serif;
  --fw-base:400;
  --fw-md:500;
  --fw-lg:600;
  --fw-xl:700;
  --fw-2xl:800;
  --fw-3xl:900;
  --hex-background:#F3F3F3;
  --hex-primary:#151C33;
  --hex-white:#FFF;
  --hex-neutral:#A3A3A3;
  --hex-highlight:#DC2626;
  --fs-sm:.75rem;
  /* --fs-base:clamp(.875rem,.48vi + .76rem,1.125rem); */
  --fs-base:clamp(.875rem,.24vi + .82rem,1rem);
  /* --fs-md:clamp(1.125rem,.79vi + .91rem,1.5rem); */
  --fs-md:clamp(1rem,.48vi + .89rem,1.25rem);
  /* --fs-lg:clamp(1.375rem,1.23vi + 1.08rem,2rem); */
  --fs-lg:clamp(1.25rem,1.21vi + .97rem,1.875rem);
  --fs-xl:clamp(1.75rem,1.21vi + 1.47rem,2.375rem);
  --fs-2xl:clamp(1.875rem,1.94vi + 1.42rem,3.75rem);
  --fs-3xl:clamp(2.625rem,4vi + 1.73rem,4.75rem);
}
body{
  font-family:var(--font-default);
  font-size:var(--fs-base);
  font-weight:var(--fw-base);
  position:relative;
  background-color:var(--hex-background);
  color:var(--hex-primary);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition:background-color 1s ease;
}
body,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin:0;
  outline:none;
  line-height:1.6;
}
p {
  line-height:1.8;
  letter-spacing:0.06em;
}
a {
  display:inline-block;
  color:inherit;
}
a,
a:focus,
a:hover{
  outline:none;
  text-decoration:none;
}
a:hover{
  cursor:pointer;
}
main,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav{
  position:relative;
  display:block;
}
ul,
ol{
  list-style:none;
}
li{
  list-style:none;
}
nav ul{
  list-style:none;
}
figure{
  position:relative;
  display:block;
  line-height:0;
}
figure figcaption{
  line-height:1.6;
}
table{
  width:100%;
}
table th{
  text-align:left;
}
iframe{
  border:none;
}
canvas{
  vertical-align:bottom;
}
blockquote,
q{
  quotes:none;
}
blockquote:before,
blockquote:after,
q:before,
q:after{
  content:'';
  content:none;
}
strong{
  font-weight:800;
}
section{
  position:relative;
  padding:5rem 0;
}
span{
  display:inline-block;
}
button{
  font-family:inherit;
  background:transparent;
  border:0;
  color:inherit;
  cursor:pointer;
  letter-spacing:.06em;
  line-height:1.14;
  outline:0;
  padding:0;
}
.pc-hide{
  display:block;
}
.sp-hide{
  display:none;
}
img{
  display:inline-block;
  width:100%;
  height:auto;
}
svg{
  width:100%;
  height:auto;
}
picture{
  display:block;
}
input,
textarea,
select,
button{
  font-size:1rem;
  width:100%;
  padding:0;
  border:none;
  border-radius:0;
  line-height:1.6;
  color:#000;
  background:#fff;
  letter-spacing:.05em;
  -webkit-text-size-adjust:100%;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
textarea{
  resize:vertical;
  vertical-align:bottom;
}
input[type="submit"],
input[type="reset"],
input[type="button"],
button{
  transition:background 0.3s;
  cursor:pointer;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover{
  opacity:1;
}
textarea:focus,
input:focus{
  outline:none;
}
.container,
.container-lg,
.flex-container{
  position:relative;
  width:100%;
  margin:0 auto;
  padding:0 1.25rem;
}
.container{
  max-width:75rem;
}
.min-container{
    max-width:67.5rem;
}
.p-layout{
  overflow-x:hidden;
}
.flex{
  display:flex;
  flex-direction:column;
}
.en-txt{
  font-family:var(--font-en);
}
.h2-ttl{
  font-size:var(--fs-xl);
  letter-spacing:.055em;
  margin-bottom:.938rem;
}
.p-ttl{
  font-size:var(--fs-base);
  font-weight:var(--fw-lg);
}
.p-ttl span{
  padding:.4rem .625rem .313rem .625rem;
  border:.063rem solid var(--hex-primary);
  border-radius:1.25rem;
  line-height:1;
}
.p-context{
  line-height:2.3;
}
/*-- header --*/
.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:99;
}
.header-content{
  max-width:90rem;
  margin:0 auto;
  padding:.625rem 1.25rem 0 1.25rem;
}
.header-content .flex{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
}
.nav-wrap{
  display:flex;
  align-items:center;
  gap:1.25rem;
}
.header-nav{
  display:none;
}
.header-content .logo{
  width:clamp(13.125rem,7.12vi + 11.46rem,20rem);
}
.header-content .logo a{
  display:inline-flex;
}
.header-content .sns-links{
  display:flex;
  gap:.625rem;
  line-height:1;
}
.header-content .sns-links li:nth-of-type(1){
  display:none;
}
.header-content .sns-links img{
  width:30px;
}
.header-nav ul{
  display:flex;
  gap:.938rem;
  padding:.938rem 1.25rem .75rem 1.25rem;
  background-color:var(--hex-primary);
  color:var(--hex-white);
  border-radius:1.5rem;
  line-height:1;
  box-shadow:0px .75rem 1.25rem -.125rem rgba(0,0,0,.2);
}
.header-nav ul a{
  font-family:var(--font-en);
  font-weight:var(--fw-md);
  letter-spacing:.105em;
}
/*-- footer --*/
.footer{
  padding:2.5rem 0 1.25rem 0;
  border-top:.063rem dashed var(--hex-neutral);
}
.p-copyright{
  font-size:var(--fs-sm);
  text-align:center;
}
.to-top{
  position:absolute;
  right:1.25rem;
  bottom:.625rem;
}
.to-top a{
  font-family:var(--font-en);
  font-size:var(--fs-sm);
  font-weight:var(--fw-md);
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:.125rem;
  line-height:1;
}
.to-top a img{
  width:1.5rem;
}
/*-- media query 60rem --*/
@media screen and (min-width: 60rem) {
  .pc-hide{
    display:none;
  }
  .sp-hide{
    display:block;
  }
  .header-nav{
    display:block;
  }
}
