@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&display=swap");
*{
  margin:0;
  padding:0;
  text-rendering:optimizeLegibility;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}

html{
  width:100%;
  font-family:"Noto Sans JP", sans-serif;
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  color:var(--color-black);
  scroll-behavior:auto;
}

body{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-flow:column;
  flex-flow:column;
  width:100%;
  min-height:100vh;
  text-align:justify;
  line-height:1.7;
  letter-spacing:0.05em;
}

html, body, header, footer, section, article, figure, h1, h2, h3, h4, h5, h6, div, form, textarea, input, label, ul, ol, li, dl, dt, dd, dt, p, span, a, img, i, svg, video, :before, :after{
  font-size:inherit;
  font-weight:inherit;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
  text-align:left;
}

ul, li{
  list-style-type:none;
}

a,
input,
textarea{
  outline:none;
}

a{
  color:inherit;
  text-decoration:none;
}

i{
  display:inline-block;
  font-size:inherit;
  font-style:normal;
  line-height:inherit;
}

img{
  vertical-align:middle;
  width:100%;
  height:auto;
}

input, textarea{
  resize:none;
}

textarea{
  vertical-align:middle;
}

select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:none;
  outline:none;
  background:transparent;
  color:inherit;
}

button{
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  background-color:transparent;
  border:none;
  cursor:pointer;
  outline:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  color:inherit;
}

sup{
  padding:0 2px;
  font-size:60%;
  line-height:1;
  vertical-align:60%;
}

details summary{
  list-style:none;
  cursor:pointer;
}

details summary::-webkit-details-marker{
  display:none;
}

:where(dialog){
  width:unset;
  max-width:unset;
  height:unset;
  max-height:unset;
  padding:unset;
  color:unset;
  background-color:unset;
  border:unset;
  overflow:unset;
}

:focus:not(:focus-visible){
  outline:none;
}

:where(:root[data-mousedown] dialog *){
  outline:none;
}

[data-modal-open]:where(:root[data-mousedown] *){
  outline:none;
}

:root{
  --leading-trim:calc((1em - 1lh) / 2);
  --header-height:86px;
  --spacing-unit:0.625rem;
  --font-en:"Manrope", sans-serif;
  --spacing-xs:calc(var(--spacing-unit) / 2);
  --spacing-sm:var(--spacing-unit);
  --spacing-default:calc(var(--spacing-unit) * 1);
  --spacing-sm-md:calc(var(--spacing-unit) * 1.5);
  --spacing-md:calc(var(--spacing-unit) * 2);
  --spacing-lg:calc(var(--spacing-unit) * 3);
  --spacing-2lg:calc(var(--spacing-unit) * 4);
  --spacing-xl:calc(var(--spacing-unit) * 5);
  --spacing-2xl:calc(var(--spacing-unit) * 6);
  --spacing-3xl:calc(var(--spacing-unit) * 10);
  --spacing-4xl:calc(var(--spacing-unit) * 12);
  --spacing-5xl:calc(var(--spacing-unit) * 20);
  --color-white:#ffffff;
  --color-black:#2B2B2B;
  --color-green:#33CB98;
  --color-green2:#ECF9F0;
  --color-red:#DD6035;
  --color-gray:#444E4A;
  --color-gray2:#727272;
}

@supports not (top: 1lh){
  :root{
    --leading-trim:0px;
  }
}
.site-wrap{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  min-height:100vh;
  background-color:var(--color-gray);
  color:var(--color-black);
  -webkit-transition:background-color 0.4s ease-out;
  transition:background-color 0.4s ease-out;
}

main{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  width:100%;
  margin:auto;
  -webkit-margin-before:var(--header-height);
  margin-block-start:var(--header-height);
}
main.sub-page{
  padding:clamp(24px, 40 / 1366 * 100vw, 80px);
}
main.sub-page::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:300px;
  aspect-ratio:800/1433;
  background:url("../img/deco-2.png") no-repeat center/contain;
}
@media (width <= 820px){
  main.sub-page{
    padding:clamp(15px, 30 / 390 * 100vw, 36px);
  }
}

.inner{
  position:relative;
  z-index:2;
  max-width:1206px;
  width:100%;
  margin-inline:auto;
  padding-inline:clamp(24px, 40 / 1366 * 100vw, 80px);
}

.thumb{
  --_maxWidth:auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  max-width:var(--_maxWidth);
  width:100%;
  margin-inline:auto;
}
@media (width <= 820px){
  .thumb{
    max-width:100%;
  }
}

.image-wrap{
  overflow:hidden;
}

.image{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  padding-block:20px;
  z-index:100;
  background-color:var(--color-white);
  border-bottom:1px solid #ddd;
}
@media (width <= 820px){
  .header{
    padding:0;
  }
}
.header .inner{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  max-width:100%;
  padding-inline:var(--spacing-lg);
}
@media (width <= 820px){
  .header .inner{
    padding-inline:clamp(10px, 20 / 390 * 100vw, 24px) 0;
  }
}
.header .header-logo{
  width:clamp(144px, 240 / 1366 * 100vw, 480px);
}
.header .g-nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:20px;
  -moz-column-gap:20px;
  column-gap:20px;
}
.header .g-nav .item{
  font-size:0.9375rem;
  font-weight:500;
  font-family:var(--font-en);
  -webkit-transition:color 0.3s;
  transition:color 0.3s;
}
@media (any-hover: hover) and (pointer: fine){
  .header .g-nav .item:not(.-parent){
    position:relative;
    display:inline-block;
    text-decoration:none;
  }
  .header .g-nav .item:not(.-parent)::after{
    position:absolute;
    left:0;
    content:"";
    width:100%;
    height:2px;
    background:var(--color-green);
    bottom:-2px;
    -webkit-transform:scale(0, 1);
    transform:scale(0, 1);
    -webkit-transition:-webkit-transform 0.3s;
    transition:-webkit-transform 0.3s;
    transition:transform 0.3s;
    transition:transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform-origin:right top;
    transform-origin:right top;
  }
  .header .g-nav .item:not(.-parent):hover::after{
    -webkit-transform-origin:left top;
    transform-origin:left top;
    -webkit-transform:scale(1, 1);
    transform:scale(1, 1);
  }
}
.header .g-nav .item:not(.-parent):hover{
  color:var(--color-green);
}
.header .g-nav .item.-parent{
  position:relative;
  cursor:default;
}
@media (any-hover: hover) and (pointer: fine){
  .header .g-nav .item.-parent:hover .accordion-content-wrap{
    visibility:visible;
    height:auto;
    -webkit-transform:translateX(-50%) translateY(0);
    transform:translateX(-50%) translateY(0);
    opacity:1;
  }
}
.header .g-nav .item.-parent .parent-element{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}
.header .g-nav .item.-parent .accordion-content-wrap{
  visibility:hidden;
  position:absolute;
  top:100%;
  left:50%;
  height:0;
  max-width:410px;
  width:-webkit-max-content;
  width:-moz-max-content;
  width:max-content;
  -webkit-padding-before:6px;
  padding-block-start:6px;
  -webkit-transform:translateX(-50%) translateY(8px);
  transform:translateX(-50%) translateY(8px);
  -webkit-transition:opacity 0.3s, -webkit-transform 0.3s;
  transition:opacity 0.3s, -webkit-transform 0.3s;
  transition:transform 0.3s, opacity 0.3s;
  transition:transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  opacity:0;
}
@media (width <= 820px){
  .header .g-nav .item.-parent .accordion-content-wrap{
    position:static;
    display:none;
    width:100%;
    -webkit-transform:none;
    transform:none;
    visibility:visible;
    opacity:1;
  }
}
.header .g-nav .item.-parent .accordion-content-wrap.is-open{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  visibility:visible;
  height:auto;
  opacity:1;
}
.header .g-nav .item.-parent .accordion-content{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  width:100%;
  padding:20px;
  background-color:var(--color-white);
  border-radius:10px;
  -webkit-box-shadow:0 4px 20px rgba(0, 0, 0, 0.1);
  box-shadow:0 4px 20px rgba(0, 0, 0, 0.1);
  z-index:10;
}
@media (width <= 820px){
  .header .g-nav .item.-parent .accordion-content{
    padding:0 clamp(10px, 20 / 390 * 100vw, 24px) clamp(10px, 20 / 390 * 100vw, 24px);
    -webkit-box-shadow:none;
    box-shadow:none;
    border-radius:0;
  }
}
.header .g-nav .item.-parent .accordion-content li:not(:last-child){
  border-bottom:1px solid #ddd;
}
.header .g-nav .item.-parent .accordion-content li a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  padding-block:10px;
  -webkit-transition:color 0.3s;
  transition:color 0.3s;
}
@media (any-hover: hover) and (pointer: fine){
  .header .g-nav .item.-parent .accordion-content li a:hover{
    color:var(--color-green);
  }
}
.header .hamburger-button-wrap{
  display:none;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  width:50px;
  height:50px;
  background-color:var(--color-green);
  cursor:pointer;
}
@media (width <= 820px){
  .header .hamburger-menu{
    display:none;
    grid-column:1/-1;
    align-self:flex-start;
    padding-block:clamp(15px, 30 / 390 * 100vw, 36px);
    -webkit-padding-end:clamp(10px, 20 / 390 * 100vw, 24px);
    padding-inline-end:clamp(10px, 20 / 390 * 100vw, 24px);
  }
  .header .hamburger-button-wrap{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
  .header .g-nav{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    row-gap:clamp(10px, 20 / 390 * 100vw, 24px);
    width:100%;
    padding-inline:0;
    background-color:unset;
  }
  .header .g-nav .item{
    width:100%;
    padding-block:0 clamp(6px, 12 / 390 * 100vw, 14.4px);
    font-size:clamp(8px, 16 / 390 * 100vw, 19.2px);
    border-bottom:1px solid #ddd;
  }
  .header .g-nav .item:last-child{
    border-bottom:none;
  }
  .header .hamburger-button{
    position:relative;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    width:20px;
    height:16px;
  }
  .header .hamburger-button span{
    width:100%;
    height:2px;
    border-radius:10px;
    background-color:var(--color-white);
  }
  .header .btn-wrap{
    width:100%;
  }
  .header .btn.-contact{
    width:100%;
  }
}
@media (width <= 820px){
  .header.is-active .inner{
    display:grid;
    grid-template-columns:1fr auto;
    grid-auto-rows:auto 1fr;
    height:100dvh;
  }
}
.header.is-active .hamburger-menu{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.header.is-active .hamburger-button span{
  position:absolute;
  inset:0;
  margin:auto;
}
.header.is-active .hamburger-button span:nth-of-type(1){
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}
.header.is-active .hamburger-button span:nth-of-type(2){
  opacity:0;
}
.header.is-active .hamburger-button span:nth-of-type(3){
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}

.footer{
  width:100%;
  padding-block:var(--spacing-xl);
  background-color:var(--color-white);
  color:var(--color-black);
  border-top:10px solid var(--color-green);
}
@media (width <= 820px){
  .footer{
    padding-block:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}
.footer .footer-content{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  gap:var(--spacing-lg);
}
@media (width <= 820px){
  .footer .footer-content{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}
.footer .footer-logo{
  width:clamp(176.4px, 294 / 1366 * 100vw, 588px);
}
.footer .f-nav-wrap{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
  gap:var(--spacing-lg);
  font-size:0.9375rem;
}
@media (width <= 820px){
  .footer .f-nav-wrap{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}
.footer .f-nav-wrap .f-nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  gap:var(--spacing-sm-md);
}
@media (width <= 820px){
  .footer .f-nav-wrap .f-nav{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    row-gap:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}
.footer .f-nav-wrap .f-nav a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-xs);
  -moz-column-gap:var(--spacing-xs);
  column-gap:var(--spacing-xs);
  -webkit-transition:opacity 0.4s;
  transition:opacity 0.4s;
}
.footer .f-nav-wrap .f-nav a::before{
  content:"";
  width:14px;
  height:14px;
  background:url("../img/arrow-right.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
@media (any-hover: hover){
  .footer .f-nav-wrap .f-nav a:hover{
    opacity:0.5;
  }
}
.footer .f-bottom{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:end;
  -ms-flex-pack:end;
  justify-content:flex-end;
  -webkit-box-align:end;
  -ms-flex-align:end;
  align-items:flex-end;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:var(--spacing-md);
  -webkit-margin-before:var(--spacing-2xl);
  margin-block-start:var(--spacing-2xl);
}
@media (width <= 820px){
  .footer .f-bottom{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
  }
}
.footer .f-bottom a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-xs);
  -moz-column-gap:var(--spacing-xs);
  column-gap:var(--spacing-xs);
  -webkit-transition:opacity 0.4s;
  transition:opacity 0.4s;
  font-size:0.75rem;
}
.footer .f-bottom a::before{
  content:"";
  width:14px;
  height:14px;
  background:url("../img/arrow-right.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
@media (any-hover: hover){
  .footer .f-bottom a:hover{
    opacity:0.5;
  }
}
.footer .copy{
  text-align:right;
  font-size:0.75rem;
}
.btn-primary a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -webkit-column-gap:var(--spacing-md);
  -moz-column-gap:var(--spacing-md);
  column-gap:var(--spacing-md);
  max-width:-webkit-fit-content;
  max-width:-moz-fit-content;
  max-width:fit-content;
  padding:8px 8px 8px 20px;
  background-color:var(--color-green);
  border-radius:4px;
  font-size:0.875rem;
  font-weight:500;
  color:var(--color-black);
  -webkit-transition:background-color 0.4s ease, color 0.4s ease;
  transition:background-color 0.4s ease, color 0.4s ease;
}
@media (width <= 820px){
  .btn-primary a{
    padding:clamp(3px, 6 / 390 * 100vw, 7.2px) clamp(6px, 10 / 1366 * 100vw, 20px);
    margin-inline:auto;
    font-size:clamp(7px, 14 / 390 * 100vw, 16.8px);
  }
}
.btn-primary a span{
  grid-column:2/2;
  justify-self:center;
}
.btn-primary a::after{
  content:"";
  justify-self:flex-end;
  width:28px;
  height:28px;
  background-image:url("../img/icon-arrow.png");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  -webkit-transform:scaleX(-1);
  transform:scaleX(-1);
}
@media (any-hover: hover){
  .btn-primary a:hover{
    background-color:#444E4A;
    color:var(--color-white);
  }
}

.btn-wrap .btn{
  display:grid;
  grid-template-columns:1fr auto auto;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-md);
  -moz-column-gap:var(--spacing-md);
  column-gap:var(--spacing-md);
  max-width:-webkit-fit-content;
  max-width:-moz-fit-content;
  max-width:fit-content;
  padding:var(--spacing-md) var(--spacing-2lg);
  background-color:var(--color-green);
  border-radius:100vmax;
  font-size:1.125rem;
  font-weight:500;
  border:1px solid var(--color-green);
  color:var(--color-white);
  -webkit-transition:background-color 0.4s ease, color 0.4s ease;
  transition:background-color 0.4s ease, color 0.4s ease;
}
@media (width <= 820px){
  .btn-wrap .btn{
    padding:clamp(6px, 12 / 390 * 100vw, 14.4px) clamp(12px, 20 / 1366 * 100vw, 40px);
    font-size:clamp(8px, 16 / 390 * 100vw, 19.2px);
  }
}
.btn-wrap .btn span{
  grid-column:2/2;
  justify-self:center;
}
.btn-wrap .btn::after{
  content:"";
  justify-self:end;
  width:14px;
  height:14px;
  -webkit-mask-image:url("../img/arrow-right.svg");
  mask-image:url("../img/arrow-right.svg");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:cover;
  mask-size:cover;
  background-color:var(--color-white);
  -webkit-transition:background-color 0.4s ease;
  transition:background-color 0.4s ease;
}
@media (any-hover: hover){
  .btn-wrap .btn:hover{
    background-color:var(--color-white);
    color:var(--color-green);
  }
  .btn-wrap .btn:hover::after{
    background-color:var(--color-green);
  }
}

@media (width <= 820px){
  .pc{
    display:none !important;
  }
}

.sp{
  display:none !important;
}
@media (width <= 820px){
  .sp{
    display:block !important;
  }
}

.en{
  font-family:var(--font-en);
}

.color-red{
  color:var(--color-red);
}

.color-gray{
  color:var(--color-gray2);
}

.mbs-sm{
  -webkit-margin-before:var(--spacing-sm);
  margin-block-start:var(--spacing-sm);
}
@media (width <= 820px){
  .mbs-sm{
    -webkit-margin-before:clamp(5px, 10 / 390 * 100vw, 12px);
    margin-block-start:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}

.mbs-md{
  -webkit-margin-before:var(--spacing-md);
  margin-block-start:var(--spacing-md);
}
@media (width <= 820px){
  .mbs-md{
    -webkit-margin-before:clamp(10px, 20 / 390 * 100vw, 24px);
    margin-block-start:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}

.mbs-lg{
  -webkit-margin-before:var(--spacing-lg);
  margin-block-start:var(--spacing-lg);
}
@media (width <= 820px){
  .mbs-lg{
    -webkit-margin-before:clamp(15px, 30 / 390 * 100vw, 36px);
    margin-block-start:clamp(15px, 30 / 390 * 100vw, 36px);
  }
}

.mbs-2lg{
  -webkit-margin-before:var(--spacing-2lg);
  margin-block-start:var(--spacing-2lg);
}
@media (width <= 820px){
  .mbs-2lg{
    -webkit-margin-before:clamp(20px, 40 / 390 * 100vw, 48px);
    margin-block-start:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}

.mbs-xl{
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
}
@media (width <= 820px){
  .mbs-xl{
    -webkit-margin-before:clamp(20px, 40 / 390 * 100vw, 48px);
    margin-block-start:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}

.mbs-2xl{
  -webkit-margin-before:var(--spacing-2xl);
  margin-block-start:var(--spacing-2xl);
}
@media (width <= 820px){
  .mbs-2xl{
    -webkit-margin-before:clamp(25px, 50 / 390 * 100vw, 60px);
    margin-block-start:clamp(25px, 50 / 390 * 100vw, 60px);
  }
}

.mbs-3xl{
  -webkit-margin-before:var(--spacing-3xl);
  margin-block-start:var(--spacing-3xl);
}
@media (width <= 820px){
  .mbs-3xl{
    -webkit-margin-before:clamp(30px, 60 / 390 * 100vw, 72px);
    margin-block-start:clamp(30px, 60 / 390 * 100vw, 72px);
  }
}

.mbs-4xl{
  -webkit-margin-before:var(--spacing-4xl);
  margin-block-start:var(--spacing-4xl);
}
@media (width <= 820px){
  .mbs-4xl{
    -webkit-margin-before:clamp(40px, 80 / 390 * 100vw, 96px);
    margin-block-start:clamp(40px, 80 / 390 * 100vw, 96px);
  }
}

.serif{
  font-family:"Noto Serif JP", serif;
}

.center{
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
  text-align:center;
}

.color-blue{
  color:var(--color-blue);
}

.color-blueLight{
  color:var(--color-blueLight);
}

.color-red{
  color:var(--color-red);
}

.color-white{
  color:var(--color-white);
}

.txt{
  display:block;
  font-size:0.9375rem;
  line-height:1.8666666667;
  letter-spacing:0.05em;
  text-align:left;
}
@media (width <= 820px){
  .txt{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.txt.-size14{
  font-size:0.875rem;
}
@media (width <= 820px){
  .txt.-size14{
    font-size:clamp(7px, 14 / 390 * 100vw, 16.8px);
  }
}
.txt.-size20{
  font-size:1.25rem;
  line-height:1.5;
  letter-spacing:0.05em;
}
@media (width <= 820px){
  .txt.-size20{
    font-size:clamp(9px, 18 / 390 * 100vw, 21.6px);
  }
}
.txt.-size22{
  font-size:1.375rem;
  line-height:1.6818181818;
}
@media (width <= 820px){
  .txt.-size22{
    font-size:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.txt.-bold{
  font-weight:bold;
}
.txt.-center{
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  text-align:center;
}
.txt.-right{
  text-align:right;
}
.txt.-underline{
  text-decoration:underline;
}
.txt.-small{
  font-size:0.75rem;
  line-height:2;
}
@media (width <= 820px){
  .txt.-small{
    font-size:clamp(6px, 12 / 390 * 100vw, 14.4px);
  }
}
.txt.-note{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-column-gap:var(--spacing-xs);
  -moz-column-gap:var(--spacing-xs);
  column-gap:var(--spacing-xs);
  font-size:0.875rem;
  line-height:1.8571428571;
  letter-spacing:0.05em;
}
.txt.-note::before{
  content:"※";
}
.txt.-ellipsis{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}

.flex-block{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
.flex-block.-column{
  --_rowGap:0;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--_rowGap);
}
@media (width <= 820px){
  .flex-block{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
}

.grid-list{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--spacing-sm);
}
@media (width <= 820px){
  .grid-list{
    grid-template-columns:1fr;
  }
}

.img-grid-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--spacing-md);
}
@media (width <= 820px){
  .img-grid-list{
    display:block;
  }
}

.grid-block{
  --_minSize:280px;
  --_gap:30px;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(var(--_minSize), 1fr));
  grid-auto-rows:1fr;
  justify-items:center;
  gap:var(--_gap);
}
@media (width <= 820px){
  .grid-block{
    gap:clamp(10px, 20 / 390 * 100vw, 24px);
    grid-auto-rows:auto;
  }
}

.js-animation{
  opacity:0;
  -webkit-transform:translateY(6px);
  transform:translateY(6px);
}
.js-animation.on{
  -webkit-animation:fade-in-up cubic-bezier(1, 0.62, 0.71, 0.72) 0.6s forwards;
  animation:fade-in-up cubic-bezier(1, 0.62, 0.71, 0.72) 0.6s forwards;
}

@-webkit-keyframes frameAnimation{
  100%{
    opacity:1;
    translate:0 0;
  }
}

@keyframes frameAnimation{
  100%{
    opacity:1;
    translate:0 0;
  }
}
@-webkit-keyframes fade-in{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}
@keyframes fade-in{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}
@-webkit-keyframes scrollAnime{
  0%{
    top:0;
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    top:100%;
    opacity:0;
  }
}
@keyframes scrollAnime{
  0%{
    top:0;
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    top:100%;
    opacity:0;
  }
}
@-webkit-keyframes fade-in-up{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@keyframes fade-in-up{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@-webkit-keyframes slide-in{
  to{
    left:0;
  }
}
@keyframes slide-in{
  to{
    left:0;
  }
}
@-webkit-keyframes badge-in{
  to{
    scale:1;
  }
}
@keyframes badge-in{
  to{
    scale:1;
  }
}
@-webkit-keyframes kv-anime{
  0%{
    opacity:0;
    -webkit-transform:scaleX(0) translateX(-5%);
    transform:scaleX(0) translateX(-5%);
  }
  100%{
    -webkit-transform:scaleX(1) translateX(0);
    transform:scaleX(1) translateX(0);
    opacity:1;
  }
}
@keyframes kv-anime{
  0%{
    opacity:0;
    -webkit-transform:scaleX(0) translateX(-5%);
    transform:scaleX(0) translateX(-5%);
  }
  100%{
    -webkit-transform:scaleX(1) translateX(0);
    transform:scaleX(1) translateX(0);
    opacity:1;
  }
}
@-webkit-keyframes txt-in{
  to{
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@keyframes txt-in{
  to{
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@-webkit-keyframes progress{
  0%{
    width:0;
  }
  100%{
    width:100%;
  }
}
@keyframes progress{
  0%{
    width:0;
  }
  100%{
    width:100%;
  }
}
@-webkit-keyframes pulseZoom{
  0%{
    opacity:0;
    -webkit-transform:scale3d(0.4, 0.4, 0.4);
    transform:scale3d(0.4, 0.4, 0.4);
  }
  50%{
    opacity:0.5;
    -webkit-transform:scale(1.4);
    transform:scale(1.4);
  }
  100%{
    opacity:0;
    -webkit-transform:scale(1.6);
    transform:scale(1.6);
  }
}
@keyframes pulseZoom{
  0%{
    opacity:0;
    -webkit-transform:scale3d(0.4, 0.4, 0.4);
    transform:scale3d(0.4, 0.4, 0.4);
  }
  50%{
    opacity:0.5;
    -webkit-transform:scale(1.4);
    transform:scale(1.4);
  }
  100%{
    opacity:0;
    -webkit-transform:scale(1.6);
    transform:scale(1.6);
  }
}
@-webkit-keyframes fade-in-left{
  0%{
    opacity:0;
    -webkit-transform:translateX(6px);
    transform:translateX(6px);
  }
  30%{
    -webkit-transform:translateX(6px);
    transform:translateX(6px);
  }
  80%{
    opacity:0.6;
  }
  100%{
    opacity:1;
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
}
@keyframes fade-in-left{
  0%{
    opacity:0;
    -webkit-transform:translateX(6px);
    transform:translateX(6px);
  }
  30%{
    -webkit-transform:translateX(6px);
    transform:translateX(6px);
  }
  80%{
    opacity:0.6;
  }
  100%{
    opacity:1;
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
}
.top .kv{
  position:relative;
  max-height:800px;
  background-color:var(--color-gray);
}
.top .kv .kv-ttl{
  position:absolute;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-sm);
  -webkit-margin-before:var(--spacing-2xl);
  margin-block-start:var(--spacing-2xl);
  -webkit-animation:fade-in-left 0.8s cubic-bezier(1, 0.62, 0.71, 0.72) forwards;
  animation:fade-in-left 0.8s cubic-bezier(1, 0.62, 0.71, 0.72) forwards;
  opacity:0;
}
@media (width <= 820px){
  .top .kv .kv-ttl{
    -webkit-margin-before:clamp(5px, 10 / 390 * 100vw, 12px);
    margin-block-start:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}
.top .kv .kv-ttl .en{
  font-size:3.125rem;
  font-weight:100;
  color:var(--color-green);
}
@media (width <= 820px){
  .top .kv .kv-ttl .en{
    font-size:clamp(11px, 22 / 390 * 100vw, 26.4px);
  }
}
.top .kv .kv-ttl .jp{
  font-size:1.5rem;
  font-weight:400;
  color:var(--color-white);
}
@media (width <= 820px){
  .top .kv .kv-ttl .jp{
    font-size:clamp(8px, 16 / 390 * 100vw, 19.2px);
  }
}
.top .kv .kv-anime{
  overflow:hidden;
}
.top .kv .wave{
  position:absolute;
  bottom:-5%;
  left:-10%;
  width:clamp(492px, 820 / 1366 * 100vw, 1640px);
  max-height:800px;
  aspect-ratio:164/116;
  -webkit-animation:wave-rotate 12s ease-in-out infinite;
  animation:wave-rotate 12s ease-in-out infinite;
}
.top .kv .wave1{
  -webkit-animation-delay:1s;
  animation-delay:1s;
}
.top .kv .wave2{
  -webkit-animation-name:wave-rotate-2;
  animation-name:wave-rotate-2;
}
.top .kv .wave3{
  -webkit-animation-name:wave-rotate-3;
  animation-name:wave-rotate-3;
}
@-webkit-keyframes wave-rotate{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(8deg) translateY(20px);
    transform:rotate(8deg) translateY(20px);
  }
}
@keyframes wave-rotate{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(8deg) translateY(20px);
    transform:rotate(8deg) translateY(20px);
  }
}
@-webkit-keyframes wave-rotate-2{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(6deg) translateY(20px);
    transform:rotate(6deg) translateY(20px);
  }
}
@keyframes wave-rotate-2{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(6deg) translateY(20px);
    transform:rotate(6deg) translateY(20px);
  }
}
@-webkit-keyframes wave-rotate-3{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(5deg) translateY(-20px);
    transform:rotate(5deg) translateY(-20px);
  }
}
@keyframes wave-rotate-3{
  0%, 100%{
    -webkit-transform:rotate(0deg) translateY(0);
    transform:rotate(0deg) translateY(0);
  }
  50%{
    -webkit-transform:rotate(5deg) translateY(-20px);
    transform:rotate(5deg) translateY(-20px);
  }
}
.top .kv .image{
  max-width:80%;
  max-height:800px;
  -webkit-margin-start:auto;
  margin-inline-start:auto;
  aspect-ratio:1252/966;
  -o-object-fit:cover;
  object-fit:cover;
}
.top .kv .news-area{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  background-color:rgba(68, 78, 74, 0.6);
  padding-block:var(--spacing-md);
}
.top .kv .news-area .inner{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-md);
  -moz-column-gap:var(--spacing-md);
  column-gap:var(--spacing-md);
}
@media (width <= 820px){
  .top .kv .news-area .inner{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
  }
}
.top .kv .news-area .news-ttl{
  -ms-flex-negative:0;
  flex-shrink:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-md);
  -moz-column-gap:var(--spacing-md);
  column-gap:var(--spacing-md);
  font-size:1rem;
  font-weight:500;
  color:var(--color-white);
}
.top .kv .news-area .news-ttl::after{
  content:"";
  width:1px;
  height:28px;
  background-color:var(--color-white);
}
@media (width <= 820px){
  .top .kv .news-area .news-ttl::after{
    content:none;
  }
}
.top .kv .news-area .news-carousel{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  gap:var(--spacing-md);
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  width:100%;
}
.top .kv .news-area .news-nav{
  -ms-flex-negative:0;
  flex-shrink:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  background:transparent;
  border:none;
  cursor:pointer;
  -webkit-transition:opacity 0.4s;
  transition:opacity 0.4s;
}
.top .kv .news-area .news-nav img{
  width:100%;
  height:auto;
}
.top .kv .news-area .news-nav:hover{
  opacity:0.7;
}
.top .kv .news-area .news-nav.news-next img{
  -webkit-transform:scaleX(-1);
  transform:scaleX(-1);
}
.top .kv .news-area .news-list{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  position:relative;
}
.top .kv .news-area .news-list .item{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility:hidden;
  -webkit-transition:opacity 0.4s ease, visibility 0.4s ease;
  transition:opacity 0.4s ease, visibility 0.4s ease;
}
.top .kv .news-area .news-list .item a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:var(--spacing-sm);
  color:var(--color-white);
  -webkit-transition:opacity 0.4s;
  transition:opacity 0.4s;
}
.top .kv .news-area .news-list .item a:hover{
  opacity:0.7;
}
.top .kv .news-area .news-list .item .date{
  -ms-flex-negative:0;
  flex-shrink:0;
}
@media (width <= 820px){
  .top .kv .news-area .news-list .item .date{
    font-size:clamp(6.5px, 13 / 390 * 100vw, 15.6px);
  }
}
.top .kv .news-area .news-list .item .message{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  font-size:0.875rem;
}
.top .kv .news-area .news-list .item.is-active{
  position:relative;
  opacity:1;
  visibility:visible;
}
.top .kv .news-area .btn-wrap{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-sm);
  -moz-column-gap:var(--spacing-sm);
  column-gap:var(--spacing-sm);
}

.sec .sec-ttl{
  font-size:1.75rem;
  line-height:1.0714285714;
  letter-spacing:0.04em;
  font-weight:500;
  color:var(--color-black);
}
.sec .sec-label{
  display:inline-block;
  -webkit-margin-after:var(--spacing-sm-md);
  margin-block-end:var(--spacing-sm-md);
  padding:2px 8px;
  font-size:0.8125rem;
  letter-spacing:0.05em;
  font-weight:500;
  background-color:var(--color-green);
  color:var(--color-white);
}
@media (width <= 820px){
  .sec .sec-label{
    font-size:clamp(6.5px, 13 / 390 * 100vw, 15.6px);
  }
}
.sec.-flowing{
  overflow:hidden;
}
.sec.-flowing .flowing-list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  width:100%;
  overflow:hidden;
}
.sec.-flowing .flowing-track{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  gap:10px;
  -webkit-animation:flowing 80s linear infinite;
  animation:flowing 80s linear infinite;
  will-change:transform;
}
.sec.-flowing .image{
  -ms-flex-negative:0;
  flex-shrink:0;
  width:340px;
}
@media (width <= 820px){
  .sec.-flowing .image{
    width:clamp(120px, 240 / 390 * 100vw, 288px);
  }
}
.sec.-flowing .image img{
  width:100%;
  height:auto;
  display:block;
}
@-webkit-keyframes flowing{
  0%{
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
  100%{
    -webkit-transform:translateX(calc(-50% - 5px));
    transform:translateX(calc(-50% - 5px));
  }
}
@keyframes flowing{
  0%{
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
  100%{
    -webkit-transform:translateX(calc(-50% - 5px));
    transform:translateX(calc(-50% - 5px));
  }
}
.sec.-message{
  padding-block:var(--spacing-2xl);
  position:relative;
  z-index:1;
}
@media (width <= 820px){
  .sec.-message{
    padding-block:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}
.sec.-message .message-area{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-column-gap:var(--spacing-xl);
  -moz-column-gap:var(--spacing-xl);
  column-gap:var(--spacing-xl);
  color:var(--color-white);
}
@media (width <= 820px){
  .sec.-message .message-area{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    row-gap:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.sec.-message .message-ttl{
  -ms-flex-negative:0;
  flex-shrink:0;
  font-size:1.5rem;
}
.sec.-message .txt{
  font-size:0.9375rem;
  line-height:2.4;
  letter-spacing:0.03em;
}
.sec.-message .image{
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
}
@media (width <= 820px){
  .sec.-message .image{
    -webkit-margin-before:clamp(15px, 30 / 390 * 100vw, 36px);
    margin-block-start:clamp(15px, 30 / 390 * 100vw, 36px);
  }
}
.sec.-about{
  position:relative;
  padding-inline:clamp(24px, 40 / 1366 * 100vw, 80px);
}
.sec.-about > .deco{
  position:absolute;
  top:-70%;
  left:0;
  width:clamp(480px, 800 / 1366 * 100vw, 1600px);
  z-index:0;
  opacity:0;
  -webkit-filter:blur(20px);
  filter:blur(20px);
  -webkit-transition:opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition:opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition:opacity 1s ease-out, filter 1s ease-out;
  transition:opacity 1s ease-out, filter 1s ease-out, -webkit-filter 1s ease-out;
}
@media (width <= 820px){
  .sec.-about > .deco{
    top:0;
    width:clamp(150px, 300 / 390 * 100vw, 360px);
  }
}
.sec.-about > .deco img{
  width:100%;
  height:auto;
}
.sec.-about.on > .deco{
  opacity:1;
  -webkit-filter:blur(0);
  filter:blur(0);
}
.sec.-about .about-wrap{
  position:relative;
  z-index:1;
  width:100%;
  padding:clamp(48px, 80 / 1366 * 100vw, 160px);
  background-color:var(--color-white);
}
@media (width <= 820px){
  .sec.-about .about-wrap{
    padding:clamp(10px, 20 / 390 * 100vw, 24px) 0 clamp(30px, 60 / 390 * 100vw, 72px);
  }
}
.sec.-about .about-wrap .about-list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-2lg);
}
.sec.-about .about-wrap .about-list .item{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-xl);
  -moz-column-gap:var(--spacing-xl);
  column-gap:var(--spacing-xl);
}
@media (width <= 820px){
  .sec.-about .about-wrap .about-list .item{
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    row-gap:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.sec.-about .about-wrap .about-list .item .text-area{
  -webkit-box-flex:2;
  -ms-flex:2;
  flex:2;
}
.sec.-about .about-wrap .about-list .item .text-area .label{
  font-size:0.875rem;
  font-weight:500;
  color:var(--color-green);
}
.sec.-about .about-wrap .about-list .item .text-area .ttl{
  -webkit-margin-before:var(--spacing-sm);
  margin-block-start:var(--spacing-sm);
  font-size:1.375rem;
  font-weight:500;
  color:var(--color-black);
}
.sec.-about .about-wrap .about-list .item .text-area .txt{
  -webkit-margin-before:var(--spacing-sm);
  margin-block-start:var(--spacing-sm);
  font-size:0.875rem;
  line-height:2;
  letter-spacing:0.03em;
}
.sec.-about .about-wrap .about-list .item .image{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  width:360px;
}
.sec.-solution{
  padding-block:var(--spacing-4xl);
  position:relative;
}
@media (width <= 820px){
  .sec.-solution{
    padding-block:clamp(40px, 80 / 390 * 100vw, 96px);
  }
}
.sec.-solution{
  z-index:1;
}
.sec.-solution > .deco{
  position:absolute;
  top:0;
  right:0;
  width:clamp(480px, 800 / 1366 * 100vw, 1600px);
  z-index:0;
  opacity:0;
  -webkit-filter:blur(20px);
  filter:blur(20px);
  -webkit-transition:opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition:opacity 1s ease-out, -webkit-filter 1s ease-out;
  transition:opacity 1s ease-out, filter 1s ease-out;
  transition:opacity 1s ease-out, filter 1s ease-out, -webkit-filter 1s ease-out;
}
@media (width <= 820px){
  .sec.-solution > .deco{
    width:clamp(150px, 300 / 390 * 100vw, 360px);
  }
}
.sec.-solution > .deco img{
  width:100%;
  height:auto;
}
.sec.-solution.on > .deco{
  opacity:1;
  -webkit-filter:blur(0);
  filter:blur(0);
}
.sec.-solution .sec-ttl{
  color:var(--color-white);
}
.sec.-solution .solution-list{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:var(--spacing-md);
}
@media (width <= 820px){
  .sec.-solution .solution-list{
    grid-template-columns:repeat(1, 1fr);
    gap:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.sec.-solution .solution-list .item a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-md);
  height:100%;
  padding:30px;
  background-color:var(--color-white);
  border-radius:4px;
  color:var(--color-black);
  -webkit-transition:background-color 0.4s;
  transition:background-color 0.4s;
}
@media (any-hover: hover){
  .sec.-solution .solution-list .item a:hover{
    background-color:#D6F5E9;
  }
}
.sec.-solution .solution-list .item .upside{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  -webkit-column-gap:var(--spacing-md);
  -moz-column-gap:var(--spacing-md);
  column-gap:var(--spacing-md);
}
.sec.-solution .solution-list .item .upside .image{
  width:130px;
}
.sec.-solution .solution-list .item .upside .txt{
  font-size:1rem;
  font-weight:500;
}
.sec.-solution .solution-list .item .upside .ttl{
  font-size:1.375rem;
  font-weight:500;
}
.sec.-solution .solution-list .item .upside .icon{
  position:absolute;
  top:0;
  right:-30px;
  width:24px;
  height:24px;
}
.sec.-products{
  position:relative;
  z-index:2;
  padding-block:var(--spacing-2xl);
  background-color:var(--color-white);
}
@media (width <= 820px){
  .sec.-products{
    padding-block:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}
.sec.-products .product-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}
.sec.-products .product-list .item:nth-child(1){
  -webkit-animation-delay:0s;
  animation-delay:0s;
}
.sec.-products .product-list .item:nth-child(2){
  -webkit-animation-delay:0.1s;
  animation-delay:0.1s;
}
.sec.-products .product-list .item:nth-child(3){
  -webkit-animation-delay:0.2s;
  animation-delay:0.2s;
}
.sec.-products .product-list .item:nth-child(4){
  -webkit-animation-delay:0.3s;
  animation-delay:0.3s;
}
.sec.-products .product-list .item:nth-child(5){
  -webkit-animation-delay:0.4s;
  animation-delay:0.4s;
}
.sec.-products .product-list .item:nth-child(6){
  -webkit-animation-delay:0.5s;
  animation-delay:0.5s;
}
.sec.-products .product-list .item:nth-child(7){
  -webkit-animation-delay:0.6s;
  animation-delay:0.6s;
}
.sec.-products .product-list .item:nth-child(8){
  -webkit-animation-delay:0.7s;
  animation-delay:0.7s;
}
.sec.-products .product-list .item:nth-child(9){
  -webkit-animation-delay:0.8s;
  animation-delay:0.8s;
}
.sec.-products .product-list .item:nth-child(10){
  -webkit-animation-delay:0.9s;
  animation-delay:0.9s;
}
.sec.-products .product-list .item a{
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-md);
  padding:16px;
  background-color:var(--color-white);
  -webkit-transition:background-color 0.4s;
  transition:background-color 0.4s;
}
@media (any-hover: hover){
  .sec.-products .product-list .item a:hover{
    background-color:#D6F5E9;
  }
}
.sec.-products .product-list .item a::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  width:10px;
  height:10px;
  background:url("../img/products-deco.png") no-repeat center/contain;
}
.sec.-products .product-list .item a::after{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:10px;
  height:10px;
  background:url("../img/products-deco.png") no-repeat center/contain;
  -webkit-transform:scaleX(-1);
  transform:scaleX(-1);
}
.sec.-products .product-list .item a .image{
  width:100%;
}
.sec.-products .product-list .item a .text-area::before{
  content:"";
  position:absolute;
  bottom:-1px;
  left:-1px;
  width:10px;
  height:10px;
  background:url("../img/products-deco.png") no-repeat center/contain;
  -webkit-transform:scaleY(-1);
  transform:scaleY(-1);
}
.sec.-products .product-list .item a .text-area::after{
  content:"";
  position:absolute;
  bottom:-1px;
  right:-1px;
  width:10px;
  height:10px;
  background:url("../img/products-deco.png") no-repeat center/contain;
  -webkit-transform:scale(-1, -1);
  transform:scale(-1, -1);
}
.sec.-products .product-list .item a .text-area .ttl{
  font-size:1.375rem;
  font-weight:500;
  color:var(--color-black);
}
.sec.-products .product-list .item a .text-area .txt{
  font-size:0.875rem;
  font-weight:500;
  color:var(--color-black);
}

.sub-page .sec{
  margin-block:var(--spacing-2xl);
}
@media (width <= 820px){
  .sub-page .sec{
    margin-block:clamp(20px, 40 / 390 * 100vw, 48px);
  }
}
.sub-page .video-background{
  position:absolute;
  top:0;
  right:0;
  max-width:460px;
  width:100%;
  z-index:0;
  mix-blend-mode:multiply;
}
@media (width <= 820px){
  .sub-page .video-background{
    width:50%;
  }
}
.sub-page .video-background video{
  width:100%;
}
.sub-page .ttl{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  font-size:2.5rem;
  font-weight:bold;
  color:var(--color-green);
}
@media (width <= 820px){
  .sub-page .ttl{
    font-size:clamp(16px, 32 / 390 * 100vw, 38.4px);
  }
}
.sub-page .ttl span{
  font-size:1rem;
  color:var(--color-gray2);
}
@media (width <= 820px){
  .sub-page .ttl span{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.sub-page .company-list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-md);
}
.sub-page .company-list .item{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-sm);
  -webkit-padding-after:var(--spacing-sm);
  padding-block-end:var(--spacing-sm);
  border-bottom:1px solid var(--color-gray);
}
.sub-page .company-list .item .label{
  font-weight:bold;
}
.sub-page .company-list .item .info{
  display:grid;
  grid-template-columns:auto 1fr;
  -webkit-column-gap:var(--spacing-sm);
  -moz-column-gap:var(--spacing-sm);
  column-gap:var(--spacing-sm);
}
.sub-page .article-card{
  width:100%;
}
.sub-page .article-card .item a{
  position:relative;
  display:block;
}
.sub-page .article-card .item a .service-ttl{
  position:absolute;
  top:10px;
  left:10px;
  padding:10px 20px;
  background-color:var(--color-white);
  border-radius:12px;
}
.sub-page .article-card .item a .thumb{
  overflow:hidden;
}
.sub-page .article-card .item a .thumb img{
  -o-object-fit:cover;
  object-fit:cover;
  height:100%;
  -webkit-transition:scale 0.3s;
  transition:scale 0.3s;
}
@media (any-hover: hover){
  .sub-page .article-card .item a:hover .thumb img{
    scale:1.1;
  }
}
.sub-page .article-card .item a .arrow{
  position:absolute;
  right:10px;
  bottom:10px;
  width:52px;
}

.sub-page .sec.-products,
.sub-page .sec.-news{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  position:relative;
  z-index:2;
  -webkit-margin-before:0;
  margin-block-start:0;
  -webkit-padding-before:var(--spacing-lg);
  padding-block-start:var(--spacing-lg);
  background-color:var(--color-white);
}
@media (width <= 820px){
  .sub-page .sec.-products,
  .sub-page .sec.-news{
    -webkit-padding-before:clamp(10px, 20 / 390 * 100vw, 24px);
    padding-block-start:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.sub-page .sec.-products .news-list,
.sub-page .sec.-news .news-list{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  row-gap:var(--spacing-md);
  -webkit-margin-before:var(--spacing-xl);
  margin-block-start:var(--spacing-xl);
}
@media (width <= 820px){
  .sub-page .sec.-products .news-list,
  .sub-page .sec.-news .news-list{
    -webkit-margin-before:clamp(15px, 30 / 390 * 100vw, 36px);
    margin-block-start:clamp(15px, 30 / 390 * 100vw, 36px);
  }
}
.sub-page .sec.-products .news-list .item a,
.sub-page .sec.-news .news-list .item a{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-column-gap:var(--spacing-sm);
  -moz-column-gap:var(--spacing-sm);
  column-gap:var(--spacing-sm);
  width:100%;
  -webkit-padding-before:var(--spacing-md);
  padding-block-start:var(--spacing-md);
  border-top:1px solid #ddd;
  font-size:1rem;
}
@media (width <= 820px){
  .sub-page .sec.-products .news-list .item a,
  .sub-page .sec.-news .news-list .item a{
    font-size:clamp(8px, 16 / 390 * 100vw, 19.2px);
  }
}
.sub-page .sec.-products .news-list .item a .date,
.sub-page .sec.-news .news-list .item a .date{
  -ms-flex-negative:0;
  flex-shrink:0;
}
.sub-page .about h2{
  -webkit-padding-after:0;
  padding-block-end:0;
  font-weight:bold;
  border-bottom:none;
  background:-webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #90D9C1));
  background:linear-gradient(transparent 70%, #90D9C1 70%);
}

.single-date{
  -webkit-margin-before:var(--spacing-sm);
  margin-block-start:var(--spacing-sm);
  font-size:0.875rem;
  color:var(--color-gray2);
}
@media (width <= 820px){
  .single-date{
    font-size:clamp(7px, 14 / 390 * 100vw, 16.8px);
    -webkit-margin-before:clamp(5px, 10 / 390 * 100vw, 12px);
    margin-block-start:clamp(5px, 10 / 390 * 100vw, 12px);
  }
}

.single-content, .page-content{
  position:relative;
  z-index:2;
  -webkit-padding-before:var(--spacing-lg);
  padding-block-start:var(--spacing-lg);
}
@media (width <= 820px){
  .single-content, .page-content{
    -webkit-padding-before:clamp(10px, 20 / 390 * 100vw, 24px);
    padding-block-start:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.single-content, .page-content{
  --wp--preset--font-size--small:14px;
  background-color:var(--color-white);
}
.single-content .single-ttl, .page-content .single-ttl{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  font-size:2rem;
  -webkit-margin-after:var(--spacing-sm);
  margin-block-end:var(--spacing-sm);
  font-weight:bold;
}
@media (width <= 820px){
  .single-content .single-ttl, .page-content .single-ttl{
    -webkit-margin-after:clamp(5px, 10 / 390 * 100vw, 12px);
    margin-block-end:clamp(5px, 10 / 390 * 100vw, 12px);
    font-size:clamp(16px, 32 / 390 * 100vw, 38.4px);
  }
}
.single-content .single-ttl span, .page-content .single-ttl span{
  display:inline-block;
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
  padding:2px 8px;
  font-size:0.8125rem;
  letter-spacing:0.05em;
  font-weight:500;
  background-color:var(--color-green);
  color:var(--color-white);
}
@media (width <= 820px){
  .single-content .single-ttl span, .page-content .single-ttl span{
    font-size:clamp(6.5px, 13 / 390 * 100vw, 15.6px);
  }
}
.single-content h2, .page-content h2{
  width:100%;
  -webkit-margin-after:var(--spacing-md);
  margin-block-end:var(--spacing-md);
  -webkit-padding-after:var(--spacing-md);
  padding-block-end:var(--spacing-md);
  font-size:1.25rem;
  border-bottom:1px solid var(--color-gray2);
}
@media (width <= 820px){
  .single-content h2, .page-content h2{
    font-size:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.single-content h2.marker, .page-content h2.marker{
  -webkit-padding-after:0;
  padding-block-end:0;
  font-weight:bold;
  border-bottom:none;
  background:-webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #90D9C1));
  background:linear-gradient(transparent 70%, #90D9C1 70%);
}
.single-content h3, .page-content h3{
  width:100%;
  font-size:1.25rem;
  font-weight:bold;
}
@media (width <= 820px){
  .single-content h3, .page-content h3{
    font-size:clamp(10px, 20 / 390 * 100vw, 24px);
  }
}
.single-content h4, .page-content h4{
  width:100%;
  font-size:1.125rem;
  font-weight:bold;
}
@media (width <= 820px){
  .single-content h4, .page-content h4{
    font-size:clamp(9px, 18 / 390 * 100vw, 21.6px);
  }
}
.single-content p, .page-content p{
  font-size:1rem;
}
@media (width <= 820px){
  .single-content p, .page-content p{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.single-content a:not(.wp-block-button__link), .page-content a:not(.wp-block-button__link){
  color:var(--color-green);
  text-decoration:underline;
}
.single-content a:not(.wp-block-button__link):hover, .page-content a:not(.wp-block-button__link):hover{
  opacity:0.7;
}
.single-content .wp-block-embed, .page-content .wp-block-embed{
  aspect-ratio:16/9;
}
.single-content .wp-block-embed__wrapper, .page-content .wp-block-embed__wrapper{
  height:100%;
}
.single-content .wp-block-embed iframe, .page-content .wp-block-embed iframe{
  width:100%;
  height:100%;
}
.single-content .is-layout-grid, .page-content .is-layout-grid{
  gap:40px;
}
.single-content .wp-block-table table tbody tr td:first-child, .page-content .wp-block-table table tbody tr td:first-child{
  width:200px;
  font-weight:bold;
}
.single-content .wp-block-list li, .page-content .wp-block-list li{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-column-gap:4px;
  -moz-column-gap:4px;
  column-gap:4px;
  -webkit-box-align:start;
  -ms-flex-align:start;
  align-items:flex-start;
}
.single-content .wp-block-list li::before, .page-content .wp-block-list li::before{
  content:"・";
}
.single-content .about-table table tbody, .page-content .about-table table tbody{
  border-top:1px solid #ddd;
}
.single-content .about-table table tbody tr, .page-content .about-table table tbody tr{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  font-size:0.9375rem;
}
@media (width <= 820px){
  .single-content .about-table table tbody tr, .page-content .about-table table tbody tr{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.single-content .about-table table tbody tr th, .page-content .about-table table tbody tr th{
  width:200px;
  padding:20px;
  border-color:#ddd;
  border-top:none;
}
.single-content .about-table table tbody tr td, .page-content .about-table table tbody tr td{
  width:100%;
  padding:20px;
  border-color:#ddd;
  border-top:none;
  border-left:none;
}
.single-content .about-table.left-bg tr, .page-content .about-table.left-bg tr{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  font-size:0.9375rem;
}
@media (width <= 820px){
  .single-content .about-table.left-bg tr, .page-content .about-table.left-bg tr{
    font-size:clamp(7.5px, 15 / 390 * 100vw, 18px);
  }
}
.single-content .about-table.left-bg tr th, .page-content .about-table.left-bg tr th{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  border-color:#fff;
  background-color:#33CB98;
  color:#fff;
}
.single-content .about-table.left-bg tr td, .page-content .about-table.left-bg tr td{
  width:100%;
  padding:20px;
  border-color:#ddd;
  border-top:none;
  border-left:none;
}
.single-content .about-table.left-bg tr td ul li, .page-content .about-table.left-bg tr td ul li{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:baseline;
  -ms-flex-align:baseline;
  align-items:baseline;
  -webkit-column-gap:10px;
  -moz-column-gap:10px;
  column-gap:10px;
}
.single-content .about-table.left-bg tr td ul li::before, .page-content .about-table.left-bg tr td ul li::before{
  content:"";
  -ms-flex-negative:0;
  flex-shrink:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background-color:#33CB98;
}
.single-content .box-bg, .page-content .box-bg{
  padding:10px;
  background-color:#F7F7F7;
  width:100%;
  margin-inline:unset !important;
}
/*# sourceMappingURL=style.css.map */