@charset "UTF-8";
:where(html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video) {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

:where(article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,img,svg,video,canvas,audio,iframe,embed,object) {
  display: block;
}

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

:where(button) {
  border: none;
  background: none;
}

:where(ul,ol,summary) {
  list-style: none;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(:-webkit-any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(:-moz-any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(:any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
  cursor: pointer;
}

:where(img,picture,svg) {
  max-inline-size: 100%;
  block-size: auto;
  width: 100%;
  height: auto;
}

:where(input,select,button,textarea) {
  color: #333;
  font-family: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

:where(button,[type=button],[type=reset],[type=submit]) {
  touch-action: manipulation;
}

:where(label) {
  display: inline-flex;
  align-items: center;
}

:where(input:-webkit-autofill,textarea:-webkit-autofill) {
  box-shadow: 0 0 0 1000px #fff inset;
}

:where(select)::-ms-expand {
  display: none;
}

:where(input)::-webkit-input-placeholder {
  color: #b6bcc4;
}

:where(input)::-moz-placeholder {
  color: #b6bcc4;
}

:where(input):-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input)::placeholder {
  color: #b6bcc4;
}

:where(input) ::-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input) :-ms-input-placeholder {
  color: #b6bcc4;
}

:where(input)[type=radio],
:where(input)[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.u-hidden {
  display: none !important;
  visibility: hidden;
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

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

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

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

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

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

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

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

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

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

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

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

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

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

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

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

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

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

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

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

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

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

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

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

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

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

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

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

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

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

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

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

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

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

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

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

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

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

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

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

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

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

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

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

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

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

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

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

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

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

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

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

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

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

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

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

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

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

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

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

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}

.leading-trim {
  margin-block: var(--leading-trim);
}

html {
  overflow-y: scroll;
}

html.no-scroll {
  overflow: hidden;
}

body {
  color: #727272;
  font-size: 16px;
  line-height: 1.875;
  font-family: "Noto Sans JP",sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

body.is-fixed {
  position: fixed;
  width: 100%;
}

body:not(.is-fixed) {
  background: #f0f5ed;
}

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

a.no-link {
  pointer-events: none;
  cursor: default;
}

.en {
  font-family: "Instrument Serif",serif;
  font-weight: 100;
}

.-spOnly {
  display: none;
}

.sec-in {
  width: 1156px;
  margin-inline: auto;
}

.l-wrapper {
  overflow: hidden;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.l-header__inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 25px;
  background: #fff;
}

.l-header__logo {
  position: relative;
  z-index: 101;
  width: 200px;
  transition: .4s;
}

.l-header__logo.is-open {
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4980%) hue-rotate(134deg) brightness(111%) contrast(101%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4980%) hue-rotate(134deg) brightness(111%) contrast(101%);
}

.l-header__btn {
  margin-inline: auto 3.7333333333vw;
  transition: .4s;
}

.l-header__btn.is-open {
  opacity: 0;
  pointer-events: none;
}

.l-header__btn>a.-cta {
  width: 32.5333333333vw;
  height: 8vw;
  margin-top: 0;
}

.l-header__btn>a.-cta .txt {
  font-size: 2.9333333333vw;
}

.l-nav {
  position: relative;
}

.l-nav__bg {
  display: none;
}

.l-nav__tit {
  width: 21.3333333333vw;
  margin-inline: auto;
}

.l-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
}

.l-nav__link {
  position: relative;
  font-size: 14px;
  line-height: 1;
  color: #000;
}

.l-nav__link::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #246248;
  bottom: -5px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  transition: -webkit-transform .8s;
  transition: transform .8s;
  transition: transform .8s, -webkit-transform .8s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}

.l-nav__link.is-current::before {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  transition: none;
}

.l-nav__link.-cta {
  width: 177px;
  height: 45px;
}

.l-nav__link.-cta::before {
  display: none;
}

.l-nav__link.-cta .txt {
  font-size: 12px;
}

.l-menu {
  display: none;
}

.l-footer {
  position: relative;
  overflow: hidden;
  padding: 130px 0 0;
  color: #fff;
}

.l-footer__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.l-footer__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-footer .sec-in {
  padding: 0 20px;
}

.l-footer__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.l-footer__logo {
  width: 300px;
  -webkit-filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4980%) hue-rotate(134deg) brightness(111%) contrast(101%);
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4980%) hue-rotate(134deg) brightness(111%) contrast(101%);
}

.l-footer__info {
  margin-top: 25px;
  line-height: 1;
  font-size: 14px;
  line-height: 1.4285714286;
}

.l-footer__tel {
  display: block;
  margin-top: 25px;
  font-size: 16px;
  letter-spacing: .09em;
}

.l-footer__tel.-fax {
  margin-top: 10px;
}

.l-footer__tel .num {
  padding-left: 20px;
}

.l-footer__btn {
  margin-top: 25px;
  width: 163px;
  height: 46px;
}

.l-footer__btn>a .txt {
  font-size: 13px;
  margin-right: 10px;
}

.l-footer__nav--list {
  display: flex;
  gap: 40px;
  font-size: 14px;
}

.l-footer__nav--list li>a {
  transition: .4s;
}

.l-footer__btm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
  color: #a6ada0;
  font-size: 12px;
  margin-top: 50px;
}

.l-footer__txt {
  position: relative;
  margin-top: 80px;
}

.c-btnStyle1 {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 100px;
  transition: .4s;
}

.c-btnStyle1 .txt {
  position: relative;
  left: -7px;
  font-size: 18px;
  font-weight: bold;
  color: #223a30;
  transition: .4s;
}

.c-btnStyle1 .icon {
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  border-bottom: 2px solid #223a30;
  border-right: 2px solid #223a30;
  width: 10px;
  height: 10px;
  rotate: -45deg;
  transition: .4s;
}

.c-btnStyle1.-reverse {
  background: rgba(0,0,0,0);
  border: 1px solid #fff;
}

.c-btnStyle1.-reverse .txt {
  color: #fff;
}

.c-btnStyle1.-reverse .icon {
  border-color: #fff;
}

.c-btnStyle1.-cta {
  background: #ffc7d8;
}

.c-btnStyle1.-cta .txt {
  position: static;
}

.c-btnStyle1.-border {
  border: 1px solid #223a30;
}

.c-btnStyle1.-prev {
  background: none;
  text-decoration: underline;
}

.c-btnStyle1.-prev .txt {
  font-size: 18px;
  font-weight: 500;
}

.c-btnStyle1.-opposite .icon {
  rotate: 135deg;
  right: auto;
  left: 20px;
}

.c-btnStyle1.-disabled {
  pointer-events: none;
  background: #ccc;
  border: none;
}

.c-btnStyle1.-disabled .txt {
  color: #fff;
}

.c-btnStyle1.-disabled .icon {
  border-color: #fff;
}

input,
select,
textarea {
  width: 100%;
  height: 50px;
  font-size: 16px;
  padding: 4px 15px;
  background: #fff;
  border: 1px solid #cbd3c8;
  border-radius: 3px;
}

input.myError,
select.myError,
textarea.myError {
  color: #d90000;
  border: 1px solid #e59a9a;
  background: #ffebeb;
}

input[type=radio],
input[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

input[type=checkbox]+.input_checkbox {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  margin-right: 15px;
  background: #fff;
  border: 1px solid #223a30;
}

input[type=checkbox]:checked+.input_checkbox:after,
input[type=checkbox]:checked+.input_checkbox:before {
  content: "";
  display: block;
  height: 3px;
  border-radius: 2px;
  background: #223a30;
  position: absolute;
}

input[type=checkbox]:checked+.input_checkbox:before {
  width: 40%;
  top: 52%;
  left: 10%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

input[type=checkbox]:checked+.input_checkbox:after {
  width: 65%;
  top: 45%;
  left: 28%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

input[type=radio]+.input_radio {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 5px;
  background: #fff;
  border: 1px solid #727272;
}

input[type=radio]:checked+.input_radio::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #223a30;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

textarea {
  resize: none;
  height: 232px;
  padding: 15px 15px;
  overflow-y: scroll;
}

textarea::-webkit-input-placeholder {
  color: #b6bcc4;
}

textarea::-moz-placeholder {
  color: #b6bcc4;
}

textarea:-ms-input-placeholder {
  color: #b6bcc4;
}

textarea::placeholder {
  color: #b6bcc4;
}

.myError:not(input,select,textarea) {
  color: #d90000;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 6px;
}

.selectBox {
  position: relative;
}

.selectBox:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 20px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
}

.selectBox.birthyear {
  width: 100px;
}

.selectBox.birthmonth,
.selectBox.birthdate,
.selectBox.age {
  width: 80px;
}

.selectBox.prefecture {
  width: 180px;
}

.contact {
  padding-bottom: 160px;
}

.contact.-check dd {
  width: 100%;
  font-size: 16px;
  padding: 10px 20px;
}

.contact .post {
  width: 120px;
}

.contact .require {
  color: #d90000;
  font-size: 13px;
  vertical-align: top;
  padding-left: 3px;
}

.contact__inner {
  width: 90%;
  max-width: 1012px;
  margin: 0 auto;
}

.contact__txt {
  font-size: 14px;
  line-height: 2;
}

.contact__box {
  border-radius: 10px;
  margin-top: 53px;
}

.contact__tit {
  border-bottom: 1px solid #dedede;
}

.contact__tit span {
  position: relative;
  display: inline-block;
  font-size: 23px;
  font-weight: 500;
  font-family: "Noto Sans JP",sans-serif;
  color: #223a30;
  padding-bottom: 10px;
}

.contact__tit span::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
}

.contact__tit span::after {
  background: #223a30;
}

.contact__item dl:nth-child(n+2) {
  margin-top: 32px;
}

.contact__item dl dt {
  font-size: 16px;
  font-weight: 500;
}

.contact__item dl dd .subtit {
  display: block;
  width: 210px;
}

.contact__item dl dd .comment {
  font-size: 12px;
}

.contact__item dl dd .name,
.contact__item dl dd .furigana,
.contact__item dl dd .post,
.contact__item dl dd .birth,
.contact__item dl dd .age,
.contact__item dl dd .sex,
.contact__item dl dd .addr {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.contact__item dl dd .name .firstName,
.contact__item dl dd .name .lastName,
.contact__item dl dd .name .firstFurigana,
.contact__item dl dd .name .lastFurigana,
.contact__item dl dd .furigana .firstName,
.contact__item dl dd .furigana .lastName,
.contact__item dl dd .furigana .firstFurigana,
.contact__item dl dd .furigana .lastFurigana {
  width: 100%;
}

.contact__item dl dd .addr__inner {
  width: 100%;
}

.contact__btm {
  margin-top: 68px;
}

.contact__btm form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 64px;
}

.contact__btm form .contact__btn {
  margin: 0;
}

.contact__privacy--tit {
  font-size: 18px;
  font-weight: 500;
}

.contact__privacyBox--txt {
  margin-top: 24px;
  font-size: 14px;
}

.contact__privacyBox--txt a {
  text-decoration: underline;
}

.contact__privacyBox--txt a:hover {
  text-decoration: none;
}

.contact__agreeBox {
  margin-top: 12px;
  color: #000;
}

.contact__agreeBox span {
  font-weight: 500;
}

.contact__agreeBox span>a {
  color: #223a30;
  text-decoration: underline;
}

.contact__thanks {
  padding: 280px 0 130px;
}

.contact__thanks--txt {
  font-size: 27px;
  font-weight: 500;
  line-height: 1.8148148148;
  text-align: center;
}

.contact__thanks--top {
  width: 260px;
  height: 67px;
  margin: 170px auto 0;
}

#page_purchase {
  background: #fff8de;
}

#page_purchase:has(.attention) input,
#page_purchase:has(.attention) select,
#page_purchase:has(.attention) textarea {
  pointer-events: none;
  background: #dbdbdb;
}

#page_purchase:has(.attention) input::-webkit-input-placeholder,
#page_purchase:has(.attention) select::-webkit-input-placeholder,
#page_purchase:has(.attention) textarea::-webkit-input-placeholder {
  opacity: 0;
}

#page_purchase:has(.attention) input::-moz-placeholder,
#page_purchase:has(.attention) select::-moz-placeholder,
#page_purchase:has(.attention) textarea::-moz-placeholder {
  opacity: 0;
}

#page_purchase:has(.attention) input:-ms-input-placeholder,
#page_purchase:has(.attention) select:-ms-input-placeholder,
#page_purchase:has(.attention) textarea:-ms-input-placeholder {
  opacity: 0;
}

#page_purchase:has(.attention) input::placeholder,
#page_purchase:has(.attention) select::placeholder,
#page_purchase:has(.attention) textarea::placeholder {
  opacity: 0;
}

#page_purchase:has(.attention) .selectBox {
  position: relative;
}

#page_purchase:has(.attention) .selectBox::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #dbdbdb;
  border: 1px solid #cbd3c8;
  border-radius: 3px;
}

#page_purchase:has(.attention) .c-mainv {
  padding-top: 70px;
}

#page_purchase:has(.attention) .contact__btn .c-btnStyle1 {
  pointer-events: none;
  background: #ccc;
  border: none;
}

#page_purchase:has(.attention) .contact__btn .c-btnStyle1 .txt {
  color: #fff;
}

#page_purchase:has(.attention) .contact__btn .c-btnStyle1 .icon {
  border-color: #fff;
}

#page_purchase .attention {
  text-align: center;
  background: #fff;
  border: 1px solid #ff003b;
  color: #ff003b;
  width: 915px;
  margin: 100px auto 0;
  padding: 30px 0;
  font-size: 20px;
}

.sec-form__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.sec-form__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 12px 6px;
  grid-template-columns: 1fr 6px;
  align-items: center;
  gap: 12px;
  color: #223a30;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 1px solid #223a30;
}

.sec-form dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 200px 1fr;
  grid-template-columns: 200px 1fr;
  border-top: 1px solid #cbd3c8;
  padding-top: 30px;
}

.sec-form dl dt {
  padding-top: 10px;
}

.sec-form__txt {
  font-size: 16px;
  font-weight: 500;
}

.sec-form__txt .red {
  color: #ff003b;
}

.sec-form__txt .note {
  display: block;
  font-size: 14px;
  margin-top: 10px;
}

.sec-form .person__wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.sec-form .person__info {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 32px 20px 1fr;
  grid-template-columns: 32px 1fr;
  gap: 0 20px;
  align-items: baseline;
}

.sec-form .request {
  display: flex;
  align-items: center;
  gap: 0 10px;
}

.sec-form .request>input {
  width: 100px;
}

.sec-form .addr__wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.sec-form .name_change {
  display: inline-flex;
  gap: 60px;
  font-weight: 500;
}

.sec-form .name_change>label {
  cursor: pointer;
}

.sec-form .contact .subtit {
  font-weight: 500;
}

.sec-form .contact.-check form {
  flex-direction: column;
  gap: 45px;
}

.sec-form .contact__btn {
  width: 260px;
  height: 67px;
  margin: 120px auto 0;
}

.c-headingStyle1 {
  color: #223a30;
}

.c-headingStyle1>span {
  display: block;
}

.c-headingStyle1 .en {
  font-size: 25px;
  font-weight: 400;
  margin-bottom: 30px;
}

.c-headingStyle1 .ja {
  font-size: 42px;
  font-family: "MFW-YuGoPr6N-Bold";
  line-height: 1.5714285714;
}

.c-headingStyle2 {
  position: relative;
  font-family: "MFW-YuGoPr6N-Bold";
  font-size: 30px;
  line-height: 1;
  color: #3c715c;
  margin-left: 40px;
  padding-bottom: 30px;
}

.c-headingStyle2::before,
.c-headingStyle2::after {
  content: "";
  position: absolute;
}

.c-headingStyle2::before {
  top: calc(50% - 15px);
  left: -30px;
  translate: 0 -50%;
  width: 8px;
  height: 8px;
  background: #3c715c;
  border-radius: 100vmax;
}

.c-headingStyle2::after {
  bottom: 0;
  left: -40px;
  width: calc(100% + 40px);
  height: 1px;
  background: #cbd3c8;
}

.c-mainv {
  padding: 180px 0 95px;
}

.c-mainv:has(.c-mainv__img) {
  padding-bottom: 0;
}

.c-mainv__img {
  margin-top: 95px;
}

.c-table dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 300px 1fr;
  grid-template-columns: 300px 1fr;
  padding: 30px 0;
  border-top: 1px solid #cbd3c8;
}

.c-table dl:last-of-type {
  border-bottom: 1px solid #cbd3c8;
}

.c-table dl dt {
  font-size: 16px;
  font-weight: 500;
}

.c-table dl dd {
  font-size: 17px;
  color: #000;
}

.c-g-credit {
  position: relative;
  padding: 170px 0 200px;
}

.c-g-credit__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.c-g-credit__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-g-credit__tit {
  color: #fff;
}

.c-g-credit__txt {
  margin-top: 40px;
  font-size: 17px;
  line-height: 2.0588235294;
  font-weight: 500;
  color: #fff;
}

.c-g-credit__btns {
  display: flex;
  gap: 14px;
  margin-top: 40px;
}

.c-g-credit__btn {
  width: 288px;
  height: 67px;
}

@-webkit-keyframes mask-anim {
  from {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }

  to {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

@keyframes mask-anim {
  from {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }

  to {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

[data-aos=scale-animation] {
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  opacity: 0;
  -webkit-animation-duration: 1.8s;
  animation-duration: 1.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}

[data-aos=scale-animation].aos-animate {
  -webkit-animation-name: scale-animation;
  animation-name: scale-animation;
}

@-webkit-keyframes scale-animation {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  10% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes scale-animation {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  10% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes scrollBarAnime {
  0% {
    background-position: 100% 0;
  }

  50% {
    background-position: 0 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@keyframes scrollBarAnime {
  0% {
    background-position: 100% 0;
  }

  50% {
    background-position: 0 0;
  }

  100% {
    background-position: -100% 0;
  }
}

#page_about_us .sec-intro {
  position: relative;
  padding-bottom: 160px;
  background: #3e745f;
}

#page_about_us .sec-intro__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 576px 1fr;
  grid-template-columns: 576px 1fr;
  align-items: center;
}

#page_about_us .sec-intro__tit {
  font-size: 32px;
  line-height: 1.6875;
  font-family: "MFW-YuGoPr6N-Bold";
  color: #ffc7d8;
}

#page_about_us .sec-intro__txt {
  font-size: 19px;
  line-height: 2.2631578947;
  font-weight: 500;
  color: #fff;
  margin-top: 50px;
}

#page_about_us .sec-intro__map {
  position: relative;
  width: 130%;
  left: -13%;
}

#page_about_us .sec-intro__list {
  position: absolute;
  bottom: -10.6149341142vw;
  left: 0;
  translate: 50% 0;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 10px;
}

#page_about_us .sec-strong {
  padding: 22.7672035139vw 0 170px;
  background: url(/assets/img/about_us/strong_bg.svg) no-repeat center/100% auto;
}

#page_about_us .sec-strong__items {
  display: flex;
  align-items: center;
  gap: 55px;
}

#page_about_us .sec-strong__items:nth-child(2) {
  margin-top: 100px;
  flex-direction: row-reverse;
}

#page_about_us .sec-strong__items:nth-child(2) .sec-strong__items--img {
  position: relative;
  z-index: -1;
}

#page_about_us .sec-strong__items--img {
  width: 50%;
}

#page_about_us .sec-strong__items--inner {
  width: 50%;
}

#page_about_us .sec-strong__items--tit {
  font-size: 37px;
  font-family: "MFW-YuGoPr6N-Bold";
  color: #000;
}

#page_about_us .sec-strong__items--txt {
  font-size: 16px;
  line-height: 2.1875;
  font-weight: 500;
  margin-top: 40px;
}

#page_about_us .sec-info {
  background: #f6f9f5;
}

#page_about_us .sec-info__inner {
  padding: 200px 0;
}

#page_about_us .sec-info__box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 435px 1fr;
  grid-template-columns: 435px 1fr;
}

#page_about_us .sec-info__box:nth-of-type(1) dl {
  padding: 15px 0;
  border: none;
  -ms-grid-columns: 155px 1fr;
  grid-template-columns: 155px 1fr;
}

#page_about_us .sec-info__box:nth-of-type(n+2) {
  margin-top: 220px;
}

#page_about_us .sec-info__tit {
  font-family: "MFW-YuGoPr6N-Bold";
  font-size: 30px;
  color: #000;
}

#page_about_us .sec-info__map {
  position: relative;
  z-index: 1;
  aspect-ratio: 1366/534;
}

#page_about_us .sec-info__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@-webkit-keyframes draw-circle {
  from {
    stroke-dashoffset: 502;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw-circle {
  from {
    stroke-dashoffset: 502;
  }

  to {
    stroke-dashoffset: 0;
  }
}

#page_business .sec-intro {
  position: relative;
  z-index: 1;
  padding-top: 10px;
}

#page_business .sec-intro::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
  background: url(/assets/img/business/intro_txt.svg) no-repeat center/contain;
  z-index: -1;
}

#page_business .sec-intro__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 545px 30px 1fr;
  grid-template-columns: 545px 1fr;
  align-items: center;
  gap: 30px;
}

#page_business .sec-intro__tit {
  font-size: 32px;
  line-height: 1.6875;
  color: #3c715c;
  font-family: "MFW-YuGoPr6N-Bold";
}

#page_business .sec-intro__txt {
  font-size: 19px;
  line-height: 2.2631578947;
  font-weight: 500;
  color: #2e2e2e;
  margin-top: 40px;
}

#page_business .sec-detail {
  padding-bottom: 200px;
}

#page_business .sec-detail__box._01 {
  padding-bottom: 500px;
}

#page_business .sec-detail__box._01 .sec-detail__cnt--inner {
  margin-top: 50px;
}

#page_business .sec-detail__box._02 {
  position: relative;
  z-index: 1;
}

#page_business .sec-detail__box._02::after {
  content: "";
  position: absolute;
  top: 60%;
  left: 50%;
  translate: -50% -50%;
  width: 745px;
  height: 745px;
  background: url(/assets/img/business/detail_bg.svg) no-repeat center/contain;
  z-index: -1;
  pointer-events: none;
}

#page_business .sec-detail__box._02 .sec-detail__cnt {
  flex-direction: row-reverse;
  gap: 80px;
  justify-content: flex-end;
}

#page_business .sec-detail__box._03 {
  padding-top: 170px;
}

#page_business .sec-detail__cnt {
  position: relative;
  margin-top: 70px;
  display: flex;
  align-items: center;
  gap: 150px;
  padding-left: 40px;
}

#page_business .sec-detail__cnt--tit {
  font-size: 48px;
  font-family: "MFW-YuGoPr6N-Bold";
  line-height: 1.375;
  color: #000;
}

#page_business .sec-detail__cnt--txt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8333333333;
  margin-top: 30px;
}

#page_business .sec-detail__cnt--img {
  width: 600px;
  flex-shrink: 0;
}

#page_business .sec-detail__cnt--img:has(video) {
  height: 582px;
  overflow: hidden;
  border-radius: 20px;
}

#page_business .sec-detail__cnt--img video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page_business .sec-detail__cnt--slide {
  position: absolute;
  top: 0;
  right: 0;
}

#page_business .sec-detail__cnt--slide .custom-slider-wrapper {
  width: 600px;
  height: 635px;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide {
  position: absolute;
  top: 0;
  left: 0;
  padding-bottom: 50px;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide-back {
  z-index: 99 !important;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide-active {
  z-index: 100 !important;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide-active .img1,
#page_business .sec-detail__cnt--slide .custom-slider-slide-active .img2 {
  position: relative;
  z-index: 10;
  -webkit-animation: mask-anim .4s forwards;
  animation: mask-anim .4s forwards;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide-active .txt {
  -webkit-animation: fade-in .4s forwards;
  animation: fade-in .4s forwards;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide .img2 {
  position: absolute;
  bottom: 0;
  left: -100px;
  width: 270px;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide .txt {
  font-size: 14px;
  color: #000;
  position: absolute;
  bottom: 10px;
  left: 190px;
  z-index: 1;
}

#page_business .sec-detail__cnt--slide .custom-slider-slide .txt::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: #f0f5ec;
  z-index: -1;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination {
  display: flex;
  position: absolute;
  left: -500px;
  bottom: 0;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-item {
  position: relative;
  margin: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-item:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(60,113,92,.3);
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-item.is-active::before {
  background: #3c715c;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-item.is-active .circle-animation {
  -webkit-animation: draw-circle 5s linear forwards;
  animation: draw-circle 5s linear forwards;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-svg {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
}

#page_business .sec-detail__cnt--slide .custom-slider-pagination-svg svg {
  width: 100%;
  height: 100%;
}

#page_business .sec-detail__btm {
  position: relative;
  height: 605px;
}

#page_business .sec-detail__btm--txt {
  position: relative;
  top: 50px;
  left: 120px;
  font-size: 21px;
  font-weight: 500;
  color: #000;
  line-height: 2.0476190476;
}

#page_business .sec-detail__btm--subtit {
  position: absolute;
  bottom: 40px;
  right: 30px;
  width: 295px;
  font-size: 15px;
  color: #223a30;
  line-height: 1.3333333333;
}

#page_business .sec-detail__btm--subtit .strong {
  display: block;
  font-size: 27px;
  margin-bottom: 20px;
}

#page_business .sec-detail__btm--img {
  position: absolute;
}

#page_business .sec-detail__btm--img._01 {
  top: -30px;
  right: 10px;
  width: 360px;
}

#page_business .sec-detail__btm--img._02 {
  bottom: 115px;
  left: 120px;
  width: 170px;
}

#page_business .sec-detail__btm--img._03 {
  bottom: 0;
  left: 380px;
  width: 350px;
}

#page_business .sec-sdgs {
  padding: 120px 0 140px;
  background: #fff;
}

#page_business .sec-sdgs__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 127px 430px;
  grid-template-columns: 1fr 430px;
  align-items: center;
  gap: 127px;
}

#page_business .sec-sdgs__tit {
  font-size: 31px;
  font-family: "MFW-YuGoPr6N-Bold";
  color: #000;
}

#page_business .sec-sdgs__txt {
  font-size: 18px;
  font-weight: 500;
  margin-top: 50px;
}

#page_business .sec-sdgs__subtit {
  font-size: 19px;
  color: #3c715c;
  font-weight: 500;
  margin-top: 70px;
}

#page_business .sec-sdgs__list {
  margin-top: 30px;
}

#page_business .sec-sdgs__list>li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40px 1fr;
  grid-template-columns: 40px 1fr;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  padding: 20px 0;
  color: #000;
  border-bottom: 1px solid #cbd3c8;
}

#page_business .sec-sdgs__list>li:first-child {
  padding-top: 0;
}

#page_business .sec-sdgs__list>li .num {
  font-size: 19px;
}

#page_g_credit .sec-intro {
  padding-top: 110px;
}

#page_g_credit .sec-intro__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 100px 477px;
  grid-template-columns: 1fr 477px;
  align-items: center;
  gap: 100px;
}

#page_g_credit .sec-intro__tit {
  font-size: 32px;
  font-weight: 500;
  color: #3c715c;
}

#page_g_credit .sec-intro__txt {
  font-size: 19px;
  line-height: 2.2631578947;
  font-weight: 500;
  color: #2e2e2e;
  margin-top: 40px;
}

#page_g_credit .sec-intro__note {
  font-size: 12px;
  margin-top: 20px;
  line-height: 1.8333333333;
}

#page_g_credit .sec-intro__btn {
  width: 290px;
  height: 67px;
  margin-top: 50px;
}

#page_g_credit .sec-intro__btn>a .icon {
  border: none;
  rotate: 0deg;
  width: 14px;
  translate: 0 -70%;
}

#page_g_credit .sec-intro__btn>a .icon svg {
  transition: .4s;
  stroke: #707070;
}

#page_g_credit .sec-detail {
  padding: 160px 0 100px;
}

#page_g_credit .sec-detail__list {
  position: relative;
  margin-top: 65px;
}

#page_g_credit .sec-detail__list::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50px;
  width: 1px;
  height: 100%;
  background: #8ba098;
  z-index: 1;
}

#page_g_credit .sec-detail__items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 325px 1fr;
  grid-template-columns: 325px 1fr;
  align-items: center;
  background: #fff;
  padding: 20px 120px 20px 40px;
  min-height: 100px;
  border-radius: 20px;
}

#page_g_credit .sec-detail__items:first-child,
#page_g_credit .sec-detail__items:last-child {
  position: relative;
  overflow: hidden;
}

#page_g_credit .sec-detail__items:first-child::after,
#page_g_credit .sec-detail__items:last-child::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  background: #fff;
  z-index: 2;
}

#page_g_credit .sec-detail__items:first-child .sec-detail__items--num {
  width: 17px;
}

#page_g_credit .sec-detail__items:first-child::after {
  top: 0;
}

#page_g_credit .sec-detail__items:last-child::after {
  bottom: 0;
}

#page_g_credit .sec-detail__items:nth-child(n+2) {
  margin-top: 20px;
}

#page_g_credit .sec-detail__items>* {
  position: relative;
  z-index: 3;
}

#page_g_credit .sec-detail__items--inner {
  display: flex;
  align-items: center;
  gap: 30px;
}

#page_g_credit .sec-detail__items--num {
  width: 20px;
  background: #fff;
  padding-block: 20px;
}

#page_g_credit .sec-detail__items--tit {
  font-size: 21px;
  font-weight: 500;
  color: #223a30;
}

#page_g_credit .sec-detail__items--txt {
  font-size: 17px;
  line-height: 1.4705882353;
}

#page_g_credit .sec-detail__items--link {
  color: #47ba38;
  text-decoration: underline;
}

#page_g_credit .sec-detail__note {
  font-size: 12px;
  margin-top: 20px;
}

#page_g_credit .sec-btm {
  position: relative;
  text-align: center;
}

#page_g_credit .sec-btm a {
  position: relative;
  display: block;
  padding: 130px 0;
  overflow: hidden;
  z-index: 1;
}

#page_g_credit .sec-btm a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: rgba(34,58,48,.9);
  transition: .4s;
  z-index: -1;
}

#page_g_credit .sec-btm a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(/assets/img/g_credit/btm_bg.png) no-repeat center/cover;
  z-index: -2;
  scale: 1.05;
  transition: .4s;
}

#page_g_credit .sec-btm__txt {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  font-family: "MFW-YuGoPr6N-Bold";
}

#page_g_credit .sec-btm__icon {
  position: absolute;
  top: 50%;
  right: calc((100% - 1156px)/2);
  translate: 0 -50%;
  display: block;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  rotate: -45deg;
  width: 20px;
  height: 20px;
}

@-webkit-keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }

  to {
    rotate: 360deg;
  }
}

@keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }

  to {
    rotate: 360deg;
  }
}

#index .sec-hero {
  position: relative;
}

#index .sec-hero__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  z-index: -1;
}

#index .sec-hero__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#index .sec-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26,39,27,.2);
}

#index .sec-hero__inner {
  display: flex;
  align-items: center;
  height: 100dvh;
}

#index .sec-hero__tit {
  font-size: 52px;
  font-family: "MFW-YuGoPr6N-Bold";
  line-height: 1.6923076923;
  color: #fff;
}

#index .sec-hero__txt {
  position: absolute;
  bottom: 50px;
  left: 35px;
  color: #fff;
  font-size: 13px;
  line-height: 1.2307692308;
  letter-spacing: .02em;
}

#index .sec-hero__txt .strong {
  display: block;
  font-size: 28px;
  margin-bottom: 20px;
  letter-spacing: -0.03em;
}

#index .sec-hero__scroll {
  position: absolute;
  bottom: -100px;
  right: -70px;
  width: 221px;
  -webkit-animation: rotateAnimation 20s linear infinite;
  animation: rotateAnimation 20s linear infinite;
}

#index .sec-about {
  padding: 230px 0;
  background: rgba(36,98,72,.87);
}

#index .sec-about__inner {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 545px 100px 1fr;
  grid-template-columns: 545px 1fr;
  gap: 100px;
}

#index .sec-about__tit .en {
  color: #fff;
}

#index .sec-about__tit .ja {
  color: #ffc7d8;
}

#index .sec-about__txt {
  font-size: 17px;
  line-height: 2.0588235294;
  color: #fff;
  margin-top: 55px;
}

#index .sec-about__btn {
  width: 260px;
  height: 67px;
  margin-top: 50px;
}

#index .sec-about__slide {
  position: absolute;
  top: 50%;
  right: -14.6412884334vw;
  translate: 0 -50%;
  width: 852px;
}

#index .sec-about__slide .swiper-slide-active {
  -webkit-animation: mask-anim .4s forwards;
  animation: mask-anim .4s forwards;
}

#index .sec-business {
  position: relative;
  padding: 130px 0 50px;
  background: #fdf2eb;
  z-index: 1;
}

#index .sec-business__bg {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}

#index .sec-business__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#index .sec-business__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 588px 300px 1fr;
  grid-template-columns: 588px 1fr;
  gap: 300px;
}

#index .sec-business__btn {
  width: 260px;
  height: 67px;
}

#index .sec-business__txt {
  font-size: 17px;
  font-weight: 500;
  margin-top: 35px;
  line-height: 2.0588235294;
}

#index .sec-business__sdgs {
  margin-top: 25px;
  width: 260px;
}

#index .sec-business__parallax {
  position: relative;
  margin-top: 2.196193265vw;
  height: 59.663250366vw;
}

#index .sec-business__parallax--bg {
  position: absolute;
  inset: 0;
  background: url(/assets/img/index/business_forest.svg) no-repeat top left/100% auto;
  z-index: 1;
}

#index .sec-business__parallax--illust {
  position: relative;
  z-index: 1;
}

#index .sec-business__parallax--txt {
  position: relative;
  top: 15%;
  left: 1.5%;
  width: 95.168374817vw;
}

#index .sec-business__parallax--items {
  position: absolute;
  translate: 0 -6vw;
}

#index .sec-business__parallax--items._01 {
  top: 10.980966325vw;
  left: calc(50% - 48.3162518302vw);
  width: 25.9150805271vw;
}

#index .sec-business__parallax--items._02 {
  top: 33.6749633968vw;
  left: calc(50% - 17.5695461201vw);
  width: 13.3967789165vw;
}

#index .sec-business__parallax--items._03 {
  top: 0;
  left: calc(50% - 7.3206442167vw);
  width: 17.7891654466vw;
}

#index .sec-business__parallax--items._04 {
  top: 30.0146412884vw;
  left: calc(50% + 3.6603221083vw);
  width: 9.5900439239vw;
}

#index .sec-business__parallax--items._05 {
  top: 2.9282576867vw;
  left: calc(50% + 22.6939970717vw);
  width: 9.5900439239vw;
}

#index .sec-business__parallax--items._06 {
  top: 19.7657393851vw;
  left: calc(50% + 27.0863836018vw);
  width: 21.3030746706vw;
}

#index .sec-info {
  position: relative;
  color: #223a30;
}

#index .sec-info__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

#index .sec-info__items>a {
  position: relative;
  display: block;
  padding: 60px 90px;
  width: 50%;
  margin-left: auto;
  z-index: 1;
  transition: .4s;
}

#index .sec-info__items>a::before,
#index .sec-info__items>a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: -1;
}

#index .sec-info__items>a::before {
  width: 0;
  background: #223a30;
  transition: .4s;
  width: calc(100% + (100vw - 1156px)/2);
  background: rgba(183,191,126,.66);
  -webkit-backdrop-filter: blur(16px) brightness(150%);
  backdrop-filter: blur(16px) brightness(150%);
}

#index .sec-info__items>a::after {
  width: 0;
  background: #223a30;
  transition: .4s;
}

#index .sec-info__tit .en {
  transition: .4s;
}

#index .sec-info__tit .ja {
  transition: .4s;
}

#index .sec-info__txt {
  margin-top: 20px;
  font-size: 17px;
  font-weight: 500;
  line-height: 2.0588235294;
  transition: .4s;
}

#index .sec-info__obj {
  position: absolute;
  bottom: 40px;
  right: 40px;
  width: 50px;
  height: 50px;
  background: #223a30;
  border-radius: 100vmax;
  transition: .4s;
}

#index .sec-info__obj .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 10px;
  height: 10px;
  rotate: -45deg;
  transition: .4s;
}

#page_privacy .sec-privacy {
  padding: 0 0 100px;
}

#page_privacy .sec-privacy__txt {
  font-size: 16px;
  padding-bottom: 30px;
  margin-bottom: 60px;
  border-bottom: 1px solid #cbd3c8;
}

#page_privacy .sec-privacy__table dl:nth-of-type(n+2) {
  margin-top: 70px;
}

#page_privacy .sec-privacy__table dl dt {
  font-size: 24px;
  font-weight: bold;
  color: #223a30;
}

#page_privacy .sec-privacy__table dl dd {
  font-size: 16px;
  margin-top: 20px;
  line-height: 1.8333333333;
}

#page_privacy .sec-privacy__table dl dd ul:nth-of-type(2) {
  padding-left: 1em;
}

#page_privacy .sec-privacy__table dl dd ul li {
  text-indent: -1em;
  padding-left: 1em;
}

@media (min-width: 767px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }

  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    cursor: default;
    text-decoration: none;
  }
}

@media (min-width: 1366px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }

  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1365.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }

  body {
    font-size: 1.1713030747vw;
  }

  .sec-in {
    width: 84.6266471449vw;
  }

  .l-header__inner {
    padding: .878477306vw 1.8301610542vw;
  }

  .l-header__logo {
    width: 14.6412884334vw;
  }

  .l-nav__list {
    gap: 2.9282576867vw;
  }

  .l-nav__link {
    font-size: 1.0248901903vw;
  }

  .l-nav__link::before {
    height: .0732064422vw;
    bottom: -.3660322108vw;
  }

  .l-nav__link.-cta {
    width: 12.9575402635vw;
    height: 3.2942898975vw;
  }

  .l-nav__link.-cta .txt {
    font-size: .878477306vw;
  }

  .l-footer {
    padding: 9.5168374817vw 0 0;
  }

  .l-footer .sec-in {
    padding: 0 1.4641288433vw;
  }

  .l-footer__logo {
    width: 21.9619326501vw;
  }

  .l-footer__info {
    margin-top: 1.8301610542vw;
    font-size: 1.0248901903vw;
  }

  .l-footer__tel {
    margin-top: 1.8301610542vw;
    font-size: 1.1713030747vw;
  }

  .l-footer__tel.-fax {
    margin-top: .7320644217vw;
  }

  .l-footer__tel .num {
    padding-left: 1.4641288433vw;
  }

  .l-footer__btn {
    margin-top: 1.8301610542vw;
    width: 11.9326500732vw;
    height: 3.3674963397vw;
  }

  .l-footer__btn>a .txt {
    font-size: .9516837482vw;
    margin-right: .7320644217vw;
  }

  .l-footer__nav--list {
    gap: 2.9282576867vw;
    font-size: 1.0248901903vw;
  }

  .l-footer__btm {
    font-size: .878477306vw;
    margin-top: 3.6603221083vw;
  }

  .l-footer__txt {
    margin-top: 5.8565153734vw;
  }

  .c-btnStyle1 {
    border-radius: 7.3206442167vw;
  }

  .c-btnStyle1 .txt {
    font-size: 1.317715959vw;
    left: -.5124450952vw;
  }

  .c-btnStyle1 .icon {
    width: .7320644217vw;
    height: .7320644217vw;
    border-width: .1464128843vw;
    right: 1.4641288433vw;
  }

  .c-btnStyle1.-reverse {
    border-width: .0732064422vw;
  }

  .c-btnStyle1.-border {
    border-width: .0732064422vw;
  }

  .c-btnStyle1.-opposite .icon {
    left: 1.4641288433vw;
  }

  input,
  select,
  textarea {
    font-size: 1.1713030747vw;
    height: 3.6603221083vw;
    padding: .2928257687vw 1.0980966325vw;
    border-width: .0732064422vw;
    border-radius: .2196193265vw;
  }

  input.myError,
  select.myError,
  textarea.myError {
    border-width: .0732064422vw;
  }

  input[type=checkbox]+.input_checkbox {
    width: 1.4641288433vw;
    height: 1.4641288433vw;
    border-radius: .2928257687vw;
    margin-right: 1.0980966325vw;
    border-width: .0732064422vw;
  }

  input[type=checkbox]:checked+.input_checkbox:after,
  input[type=checkbox]:checked+.input_checkbox:before {
    height: .2196193265vw;
    border-radius: .1464128843vw;
  }

  input[type=radio]+.input_radio {
    width: 1.4641288433vw;
    height: 1.4641288433vw;
    margin-right: .3660322108vw;
    border-width: .0732064422vw;
  }

  input[type=radio]:checked+.input_radio::after {
    width: .878477306vw;
    height: .878477306vw;
  }

  textarea {
    height: 16.9838945827vw;
    padding: 1.0980966325vw 1.0980966325vw;
  }

  .myError:not(input,select,textarea) {
    font-size: 1.0248901903vw;
    margin-top: .439238653vw;
  }

  .selectBox:before {
    top: calc(50% - .3660322108vw);
    right: 1.4641288433vw;
    width: .5856515373vw;
    height: .5856515373vw;
    border-left-width: .0732064422vw;
    border-bottom-width: .0732064422vw;
  }

  .contact {
    padding-bottom: 11.7130307467vw;
  }

  .contact.-check dd {
    font-size: 1.1713030747vw;
    padding: .7320644217vw 1.4641288433vw;
  }

  .contact .require {
    font-size: .9516837482vw;
    padding-left: .2196193265vw;
  }

  .contact__txt {
    font-size: 1.0248901903vw;
  }

  .contact__box {
    margin-top: 3.8799414348vw;
    border-radius: .7320644217vw;
  }

  .contact__tit span {
    font-size: 1.6837481698vw;
    padding-bottom: .7320644217vw;
  }

  .contact__item dl:nth-child(n+2) {
    margin-top: 2.3426061493vw;
  }

  .contact__item dl dt {
    font-size: 1.1713030747vw;
  }

  .contact__item dl dd .comment {
    font-size: .878477306vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana,
  .contact__item dl dd .post,
  .contact__item dl dd .birth,
  .contact__item dl dd .age,
  .contact__item dl dd .sex,
  .contact__item dl dd .addr {
    gap: .7320644217vw;
  }

  .contact__btm {
    margin-top: 4.9780380673vw;
  }

  .contact__btm form {
    gap: 0 4.6852122987vw;
  }

  .contact__privacy--tit {
    font-size: 1.317715959vw;
  }

  .contact__privacyBox--txt {
    margin-top: 1.756954612vw;
    font-size: 1.0248901903vw;
  }

  .contact__agreeBox {
    margin-top: .878477306vw;
  }

  .contact__thanks {
    padding: 20.4978038067vw 0 9.5168374817vw;
  }

  .contact__thanks--txt {
    font-size: 1.9765739385vw;
  }

  .contact__thanks--top {
    width: 19.0336749634vw;
    height: 4.9048316252vw;
    margin: 12.4450951684vw auto 0;
  }

  #page_purchase:has(.attention) .c-mainv {
    padding-top: 5.1244509517vw;
  }

  #page_purchase .attention {
    width: 66.9838945827vw;
    margin: 7.3206442167vw auto 0;
    padding: 2.196193265vw 0;
    font-size: 1.4641288433vw;
  }

  .sec-form__link {
    -ms-grid-columns: 1fr .878477306vw .439238653vw;
    grid-template-columns: 1fr .439238653vw;
    font-size: 1.0248901903vw;
    gap: .878477306vw;
    border-width: .0732064422vw;
  }

  .sec-form dl {
    -ms-grid-columns: 14.6412884334vw 1fr;
    grid-template-columns: 14.6412884334vw 1fr;
  }

  .sec-form dl dt {
    padding-top: .7320644217vw;
  }

  .sec-form__txt {
    font-size: 1.1713030747vw;
  }

  .sec-form__txt .note {
    font-size: 1.0248901903vw;
    margin-top: .7320644217vw;
  }

  .sec-form .person__wrapper {
    gap: 1.8301610542vw;
  }

  .sec-form .person__info {
    -ms-grid-columns: 2.3426061493vw 1.4641288433vw 1fr;
    grid-template-columns: 2.3426061493vw 1fr;
    gap: 0 1.4641288433vw;
  }

  .sec-form .request {
    gap: 0 .7320644217vw;
  }

  .sec-form .request>input {
    width: 7.3206442167vw;
  }

  .sec-form .addr__wrapper {
    gap: 1.8301610542vw;
  }

  .sec-form .name_change {
    gap: 4.39238653vw;
  }

  .sec-form .contact__btn {
    width: 15.4465592972vw;
    height: 4.9048316252vw;
    margin: 8.78477306vw auto 0;
  }

  .c-headingStyle1 .en {
    font-size: 1.8301610542vw;
    margin-bottom: 2.196193265vw;
  }

  .c-headingStyle1 .ja {
    font-size: 3.074670571vw;
  }

  .c-headingStyle2 {
    padding-bottom: 2.196193265vw;
    font-size: 2.196193265vw;
    margin-left: 2.9282576867vw;
  }

  .c-headingStyle2::before {
    top: calc(50% - 1.0980966325vw);
    left: -2.196193265vw;
    width: .5856515373vw;
    height: .5856515373vw;
  }

  .c-headingStyle2::after {
    left: -2.9282576867vw;
    width: calc(100% + 2.9282576867vw);
    height: .0732064422vw;
  }

  .c-mainv {
    padding: 13.17715959vw 0 6.9546120059vw;
  }

  .c-mainv__img {
    margin-top: 6.9546120059vw;
  }

  .c-table dl {
    -ms-grid-columns: 21.9619326501vw 1fr;
    grid-template-columns: 21.9619326501vw 1fr;
    padding: 2.196193265vw 0;
    border-width: .0732064422vw;
  }

  .c-table dl:last-of-type {
    border-width: .0732064422vw;
  }

  .c-table dl dt {
    font-size: 1.1713030747vw;
  }

  .c-table dl dd {
    font-size: 1.2445095168vw;
  }

  .c-g-credit {
    padding: 12.4450951684vw 0 14.6412884334vw;
  }

  .c-g-credit__txt {
    margin-top: 2.9282576867vw;
    font-size: 1.2445095168vw;
  }

  .c-g-credit__btns {
    gap: 1.0248901903vw;
    margin-top: 2.9282576867vw;
  }

  .c-g-credit__btn {
    width: 21.0834553441vw;
    height: 4.9048316252vw;
  }

  #page_about_us .sec-intro {
    padding-bottom: 11.7130307467vw;
  }

  #page_about_us .sec-intro__inner {
    -ms-grid-columns: 42.1669106881vw 1fr;
    grid-template-columns: 42.1669106881vw 1fr;
  }

  #page_about_us .sec-intro__tit {
    font-size: 2.3426061493vw;
  }

  #page_about_us .sec-intro__txt {
    font-size: 1.3909224012vw;
    margin-top: 3.6603221083vw;
  }

  #page_about_us .sec-intro__list {
    gap: 1.4641288433vw;
    padding: 0 .7320644217vw;
  }

  #page_about_us .sec-strong {
    padding: 22.7672035139vw 0 12.4450951684vw;
  }

  #page_about_us .sec-strong__items {
    gap: 4.0263543192vw;
  }

  #page_about_us .sec-strong__items:nth-child(2) {
    margin-top: 7.3206442167vw;
  }

  #page_about_us .sec-strong__items--tit {
    font-size: 2.7086383602vw;
  }

  #page_about_us .sec-strong__items--txt {
    font-size: 1.1713030747vw;
    margin-top: 2.9282576867vw;
  }

  #page_about_us .sec-info__inner {
    padding: 14.6412884334vw 0;
  }

  #page_about_us .sec-info__box {
    -ms-grid-columns: 31.8448023426vw 1fr;
    grid-template-columns: 31.8448023426vw 1fr;
  }

  #page_about_us .sec-info__box:nth-of-type(1) dl {
    padding: 1.0980966325vw 0;
    -ms-grid-columns: 11.3469985359vw 1fr;
    grid-template-columns: 11.3469985359vw 1fr;
  }

  #page_about_us .sec-info__box:nth-of-type(n+2) {
    margin-top: 16.1054172767vw;
  }

  #page_about_us .sec-info__tit {
    font-size: 2.196193265vw;
  }

  #page_business .sec-intro {
    padding-top: .7320644217vw;
  }

  #page_business .sec-intro__inner {
    -ms-grid-columns: 39.897510981vw 2.196193265vw 1fr;
    grid-template-columns: 39.897510981vw 1fr;
    gap: 2.196193265vw;
  }

  #page_business .sec-intro__tit {
    font-size: 2.3426061493vw;
  }

  #page_business .sec-intro__txt {
    font-size: 1.3909224012vw;
    margin-top: 2.9282576867vw;
  }

  #page_business .sec-detail {
    padding-bottom: 14.6412884334vw;
  }

  #page_business .sec-detail__box._01 {
    padding-bottom: 36.6032210835vw;
  }

  #page_business .sec-detail__box._01 .sec-detail__cnt--inner {
    margin-top: 3.6603221083vw;
  }

  #page_business .sec-detail__box._02::after {
    width: 54.5387994143vw;
    height: 54.5387994143vw;
  }

  #page_business .sec-detail__box._02 .sec-detail__cnt {
    gap: 5.8565153734vw;
  }

  #page_business .sec-detail__box._03 {
    padding-top: 12.4450951684vw;
  }

  #page_business .sec-detail__cnt {
    margin-top: 10.980966325vw;
    padding-left: 2.9282576867vw;
    gap: 10.980966325vw;
  }

  #page_business .sec-detail__cnt--tit {
    font-size: 3.513909224vw;
  }

  #page_business .sec-detail__cnt--txt {
    font-size: 1.317715959vw;
    margin-top: 2.196193265vw;
  }

  #page_business .sec-detail__cnt--img {
    width: 43.9238653001vw;
  }

  #page_business .sec-detail__cnt--img:has(video) {
    height: 42.6061493411vw;
    border-radius: 1.4641288433vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-wrapper {
    width: 43.9238653001vw;
    height: 46.486090776vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide {
    padding-bottom: 3.6603221083vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide .img2 {
    width: 19.7657393851vw;
    left: -7.3206442167vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide .txt {
    font-size: 1.0248901903vw;
    left: 13.9092240117vw;
    bottom: .7320644217vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination {
    left: -36.6032210835vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination-item {
    width: 10.6666666667vw,1366;
    height: 2.9282576867vw;
    margin: 0 .7320644217vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination-item:before {
    width: .5856515373vw;
    height: .5856515373vw;
  }

  #page_business .sec-detail__btm {
    height: 44.289897511vw;
  }

  #page_business .sec-detail__btm--txt {
    top: 3.6603221083vw;
    left: 8.78477306vw;
    font-size: 1.5373352855vw;
  }

  #page_business .sec-detail__btm--subtit {
    bottom: 2.9282576867vw;
    right: 2.196193265vw;
    width: 21.5959004392vw;
    font-size: 1.0980966325vw;
  }

  #page_business .sec-detail__btm--subtit .strong {
    font-size: 1.9765739385vw;
    margin-bottom: .7320644217vw;
  }

  #page_business .sec-detail__btm--img._01 {
    top: -2.196193265vw;
    right: .7320644217vw;
    width: 26.3543191801vw;
  }

  #page_business .sec-detail__btm--img._02 {
    bottom: 8.4187408492vw;
    left: 8.78477306vw;
    width: 12.4450951684vw;
  }

  #page_business .sec-detail__btm--img._03 {
    left: 27.8184480234vw;
    width: 25.6222547584vw;
  }

  #page_business .sec-sdgs {
    padding: 8.78477306vw 0 10.2489019034vw;
  }

  #page_business .sec-sdgs__inner {
    -ms-grid-columns: 1fr 9.2972181552vw 31.4787701318vw;
    grid-template-columns: 1fr 31.4787701318vw;
    gap: 9.2972181552vw;
  }

  #page_business .sec-sdgs__tit {
    font-size: 2.2693997072vw;
  }

  #page_business .sec-sdgs__txt {
    font-size: 1.317715959vw;
    margin-top: 3.6603221083vw;
  }

  #page_business .sec-sdgs__subtit {
    font-size: 1.3909224012vw;
    margin-top: 5.1244509517vw;
  }

  #page_business .sec-sdgs__list {
    margin-top: 2.196193265vw;
  }

  #page_business .sec-sdgs__list>li {
    -ms-grid-columns: 2.9282576867vw 1fr;
    grid-template-columns: 2.9282576867vw 1fr;
    font-size: 1.1713030747vw;
    padding: 1.4641288433vw 0;
    border-width: .0732064422vw;
  }

  #page_business .sec-sdgs__list>li .num {
    font-size: 1.3909224012vw;
  }

  #page_g_credit .sec-intro {
    padding-top: 8.0527086384vw;
  }

  #page_g_credit .sec-intro__inner {
    -ms-grid-columns: 1fr 7.3206442167vw 34.9194729136vw;
    grid-template-columns: 1fr 34.9194729136vw;
    gap: 7.3206442167vw;
  }

  #page_g_credit .sec-intro__tit {
    font-size: 2.3426061493vw;
  }

  #page_g_credit .sec-intro__txt {
    font-size: 1.3909224012vw;
    margin-top: 2.9282576867vw;
  }

  #page_g_credit .sec-intro__note {
    font-size: .878477306vw;
    margin-top: 1.4641288433vw;
  }

  #page_g_credit .sec-intro__btn {
    width: 21.2298682284vw;
    height: 4.9048316252vw;
    margin-top: 3.6603221083vw;
  }

  #page_g_credit .sec-intro__btn>a .icon {
    width: 1.0248901903vw;
  }

  #page_g_credit .sec-detail {
    padding: 11.7130307467vw 0 7.3206442167vw;
  }

  #page_g_credit .sec-detail__list {
    margin-top: 4.7584187408vw;
  }

  #page_g_credit .sec-detail__list::after {
    left: 3.6603221083vw;
    width: .0732064422vw;
  }

  #page_g_credit .sec-detail__items {
    -ms-grid-columns: 23.7920937042vw 1fr;
    grid-template-columns: 23.7920937042vw 1fr;
    padding: 1.4641288433vw 8.78477306vw 1.4641288433vw 2.9282576867vw;
    border-radius: 1.4641288433vw;
    min-height: 7.3206442167vw;
  }

  #page_g_credit .sec-detail__items:first-child .sec-detail__items--num {
    width: 1.2445095168vw;
  }

  #page_g_credit .sec-detail__items:nth-child(n+2) {
    margin-top: 1.4641288433vw;
  }

  #page_g_credit .sec-detail__items--inner {
    gap: 2.196193265vw;
  }

  #page_g_credit .sec-detail__items--num {
    width: 1.4641288433vw;
    padding-block: 1.4641288433vw;
  }

  #page_g_credit .sec-detail__items--tit {
    font-size: 1.5373352855vw;
  }

  #page_g_credit .sec-detail__items--txt {
    font-size: 1.2445095168vw;
  }

  #page_g_credit .sec-detail__note {
    margin-top: 1.4641288433vw;
    font-size: .878477306vw;
  }

  #page_g_credit .sec-btm a {
    padding: 9.5168374817vw 0;
  }

  #page_g_credit .sec-btm__txt {
    font-size: 2.635431918vw;
  }

  #page_g_credit .sec-btm__icon {
    top: 50%;
    right: calc((100% - 84.6266471449vw)/2);
    width: 1.4641288433vw;
    height: 1.4641288433vw;
    border-width: .1464128843vw;
  }

  #index .sec-hero__txt {
    bottom: 3.6603221083vw;
    left: 2.5622254758vw;
    font-size: .9516837482vw;
  }

  #index .sec-hero__txt .strong {
    font-size: 2.0497803807vw;
    margin-bottom: 1.4641288433vw;
  }

  #index .sec-hero__scroll {
    bottom: -7.3206442167vw;
    right: -5.1244509517vw;
  }

  #index .sec-about {
    padding: 16.8374816984vw 0;
  }

  #index .sec-about__inner {
    -ms-grid-columns: 39.897510981vw 7.3206442167vw 1fr;
    grid-template-columns: 39.897510981vw 1fr;
    gap: 7.3206442167vw;
  }

  #index .sec-about__txt {
    font-size: 1.2445095168vw;
    margin-top: 4.0263543192vw;
  }

  #index .sec-about__btn {
    width: 19.0336749634vw;
    height: 4.9048316252vw;
    margin-top: 3.6603221083vw;
  }

  #index .sec-about__slide {
    width: 62.3718887262vw;
  }

  #index .sec-business {
    padding: 9.5168374817vw 0 3.6603221083vw;
  }

  #index .sec-business__inner {
    -ms-grid-columns: 43.0453879941vw 21.9619326501vw 1fr;
    grid-template-columns: 43.0453879941vw 1fr;
    gap: 21.9619326501vw;
  }

  #index .sec-business__btn {
    width: 19.0336749634vw;
    height: 4.9048316252vw;
  }

  #index .sec-business__txt {
    font-size: 1.2445095168vw;
    margin-top: 2.5622254758vw;
  }

  #index .sec-business__sdgs {
    margin-top: 1.8301610542vw;
    width: 19.0336749634vw;
  }

  #index .sec-info__items>a {
    padding: 4.39238653vw 6.588579795vw;
  }

  #index .sec-info__items>a::before {
    width: calc(100% + 7.6866764275vw);
  }

  #index .sec-info__txt {
    margin-top: 1.4641288433vw;
    font-size: 1.2445095168vw;
  }

  #index .sec-info__obj {
    bottom: 2.9282576867vw;
    right: 2.9282576867vw;
    width: 3.6603221083vw;
    height: 3.6603221083vw;
  }

  #index .sec-info__obj .icon {
    border-width: .1464128843vw;
    width: .7320644217vw;
    height: .7320644217vw;
  }

  #page_privacy .sec-privacy {
    padding: 0 0 7.3206442167vw;
  }

  #page_privacy .sec-privacy__txt {
    font-size: 1.1713030747vw;
    padding-bottom: 2.196193265vw;
    margin-bottom: 4.39238653vw;
    border-width: .0732064422vw;
  }

  #page_privacy .sec-privacy__table dl:nth-of-type(n+2) {
    margin-top: 5.1244509517vw;
  }

  #page_privacy .sec-privacy__table dl dt {
    font-size: 1.756954612vw;
  }

  #page_privacy .sec-privacy__table dl dd {
    font-size: 1.1713030747vw;
    margin-top: 1.4641288433vw;
  }
}

@media (any-hover: hover)and (max-width: 1365.98px) {
  #index .sec-info__items>a:hover::after {
    width: calc(100% + 7.6866764275vw) !important;
  }
}

@media (max-width: 766.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }

  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }

  body {
    font-size: 3.7333333333vw;
  }

  body.is-fixed {
    position: static;
  }

  .-pcOnly {
    display: none;
  }

  .-spOnly {
    display: block;
  }

  .sec-in {
    width: 90%;
  }

  .l-header__inner {
    padding: 0;
    padding: 2.6666666667vw 3.7333333333vw;
    justify-content: flex-start;
  }

  .l-header__logo {
    width: 33.6vw;
  }

  .l-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100dvh;
    overflow-y: auto;
    padding: 26.6666666667vw 0 10.6666666667vw;
    pointer-events: none;
    opacity: 0;
    transition: .6s ease;
  }

  .l-nav.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .l-nav__bg {
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
  }

  .l-nav__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .l-nav__list {
    flex-direction: column;
    align-items: center;
    gap: 9.3333333333vw;
    margin-top: 14.6666666667vw;
  }

  .l-nav__list li.-spOnly {
    display: flex;
  }

  .l-nav__link {
    font-size: 4.8vw;
    color: #fff;
    font-weight: 500;
  }

  .l-nav__link::before {
    height: .2666666667vw;
    bottom: -1.3333333333vw;
  }

  .l-nav__link.is-current::before {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }

  .l-nav__link.-cta {
    width: 56.2666666667vw;
    height: 14.4vw;
    margin-top: 5.3333333333vw;
  }

  .l-nav__link.-cta .txt {
    font-size: 3.7333333333vw;
  }

  .l-nav__link.-contact {
    width: 42.6666666667vw;
    height: 12vw;
  }

  .l-nav__link.-contact .txt {
    font-size: 3.4666666667vw;
    margin-right: 2.6666666667vw;
  }

  .l-menu {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .l-menu.is-open .l-menu__line {
    background: #fff;
    height: .5333333333vw;
    translate: 0 -50%;
  }

  .l-menu.is-open .l-menu__line:nth-child(1) {
    top: 50%;
    rotate: 45deg;
  }

  .l-menu.is-open .l-menu__line:nth-child(2) {
    bottom: auto;
    top: 50%;
    rotate: -45deg;
  }

  .l-menu__obj {
    position: relative;
    width: 7.2vw;
    height: 2.1333333333vw;
  }

  .l-menu__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;
    transition: .5s;
  }

  .l-menu__line:nth-child(1) {
    top: 0;
  }

  .l-menu__line:nth-child(2) {
    bottom: 0;
  }

  .l-footer {
    padding: 21.3333333333vw 0 0;
  }

  .l-footer .sec-in {
    padding: 0;
  }

  .l-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18.6666666667vw;
  }

  .l-footer__logo {
    order: 1;
    width: 65.3333333333vw;
  }

  .l-footer__info {
    margin-top: 6.6666666667vw;
    font-size: 3.7333333333vw;
  }

  .l-footer__tel {
    font-size: 4.2666666667vw;
    margin-top: 4.8vw;
  }

  .l-footer__tel.-fax {
    margin-top: 1.8666666667vw;
  }

  .l-footer__tel .num {
    padding-left: 5.3333333333vw;
  }

  .l-footer__btn {
    margin-top: 10.6666666667vw;
    width: 43.4666666667vw;
    height: 12.2666666667vw;
  }

  .l-footer__btn>a .txt {
    font-size: 3.4666666667vw;
    margin-right: 2.6666666667vw;
  }

  .l-footer__nav {
    order: -1;
  }

  .l-footer__nav--list {
    gap: 8vw;
    font-size: 4vw;
    flex-direction: column;
  }

  .l-footer__btm {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 2.6666666667vw;
    font-size: 3.2vw;
    margin-top: 12vw;
  }

  .l-footer__txt {
    width: 165%;
    margin-top: 16vw;
  }

  .c-btnStyle1 {
    border-radius: 26.6666666667vw;
  }

  .c-btnStyle1 .txt {
    font-size: 4.2666666667vw;
  }

  .c-btnStyle1 .icon {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    border-width: .5333333333vw;
    right: 4vw;
  }

  .c-btnStyle1.-reverse {
    border-width: .2666666667vw;
  }

  .c-btnStyle1.-border {
    border-width: .2666666667vw;
  }

  .c-btnStyle1.-opposite .icon {
    left: 4vw;
  }

  input,
  select,
  textarea {
    font-size: 4.2666666667vw;
    height: 13.3333333333vw;
    padding: 1.0666666667vw 4vw;
    border-width: .2666666667vw;
    border-radius: .8vw;
  }

  input.myError,
  select.myError,
  textarea.myError {
    border-width: .2666666667vw;
  }

  input[type=checkbox]+.input_checkbox {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border-radius: 1.0666666667vw;
    margin-right: 2.6666666667vw;
    border-width: .2666666667vw;
  }

  input[type=checkbox]:checked+.input_checkbox:after,
  input[type=checkbox]:checked+.input_checkbox:before {
    height: .8vw;
    border-radius: .5333333333vw;
  }

  input[type=radio]+.input_radio {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-right: 1.3333333333vw;
    border-width: .2666666667vw;
  }

  input[type=radio]:checked+.input_radio::after {
    width: 3.2vw;
    height: 3.2vw;
  }

  textarea {
    height: 61.8666666667vw;
    padding: 4vw 4vw;
  }

  .myError:not(input,select,textarea) {
    font-size: 3.4666666667vw;
    margin-top: 1.6vw;
  }

  .selectBox:before {
    top: calc(50% - 1.3333333333vw);
    right: 3.2vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    border-left-width: .2666666667vw;
    border-bottom-width: .2666666667vw;
  }

  .selectBox.birthyear {
    width: 26.6666666667vw;
  }

  .selectBox.birthmonth,
  .selectBox.birthdate,
  .selectBox.age {
    width: 21.3333333333vw;
  }

  .selectBox.prefecture {
    width: 48vw;
  }

  .contact.-check dd {
    font-size: 4.2666666667vw;
    padding: 2.6666666667vw 4.2666666667vw;
  }

  .contact .post {
    width: 32vw;
  }

  .contact .require {
    font-size: 3.4666666667vw;
    padding-left: .8vw;
  }

  .contact__txt {
    font-size: 3.7333333333vw;
  }

  .contact__box {
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }

  .contact__tit span {
    font-size: 5.3333333333vw;
    padding-bottom: 2.6666666667vw;
  }

  .contact__tit span::after {
    width: 21.3333333333vw;
  }

  .contact__item dl:nth-child(n+2) {
    margin-top: 6.4vw;
  }

  .contact__item dl dt {
    font-size: 3.7333333333vw;
  }

  .contact__item dl dd .subtit {
    width: 100%;
  }

  .contact__item dl dd .comment {
    font-size: 3.2vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana,
  .contact__item dl dd .post,
  .contact__item dl dd .birth,
  .contact__item dl dd .age,
  .contact__item dl dd .sex,
  .contact__item dl dd .addr {
    gap: 2.6666666667vw;
  }

  .contact__item dl dd .name,
  .contact__item dl dd .furigana {
    flex-direction: column;
  }

  .contact__item dl dd .addr {
    flex-direction: column;
  }

  .contact__btm {
    margin-top: 12.8vw;
  }

  .contact__btm form {
    flex-direction: column;
    gap: 6.6666666667vw 0;
  }

  .contact__privacy--tit {
    font-size: 4.2666666667vw;
  }

  .contact__privacyBox--txt {
    margin-top: 4.2666666667vw;
    font-size: 3.2vw;
  }

  .contact__agreeBox {
    margin-top: 3.2vw;
  }

  #page_purchase .attention {
    width: 90%;
    margin: 21.3333333333vw auto 0;
    padding: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }

  .sec-form__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8vw;
  }

  .sec-form__link {
    gap: 1.8666666667vw;
    font-size: 3.7333333333vw;
    -ms-grid-columns: 1fr 1.8666666667vw 1.6vw;
    grid-template-columns: 1fr 1.6vw;
  }

  .sec-form dl {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
  }

  .sec-form dl dt {
    padding: 0;
  }

  .sec-form dl dd {
    width: 100%;
  }

  .sec-form__txt {
    font-size: 3.7333333333vw;
  }

  .sec-form__txt .red {
    display: block;
  }

  .sec-form__txt .note {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }

  .sec-form__txt .note .red {
    display: inline;
  }

  .sec-form .person__info {
    -ms-grid-columns: 8vw 5.3333333333vw 1fr;
    grid-template-columns: 8vw 1fr;
    gap: 5.3333333333vw;
  }

  .sec-form .request {
    gap: 2.6666666667vw;
  }

  .sec-form .request>input {
    width: 40vw;
  }

  .sec-form .addr__wrapper {
    gap: 2.6666666667vw;
  }

  .sec-form .name_change {
    gap: 10.6666666667vw;
  }

  .sec-form .contact__btn {
    width: 56vw;
    height: 16vw;
    margin: 10.6666666667vw auto 0;
  }

  .c-headingStyle1 .en {
    font-size: 4.2666666667vw;
    margin-bottom: 8vw;
  }

  .c-headingStyle1 .ja {
    font-size: 8.5333333333vw;
    line-height: 1.3125;
  }

  .c-headingStyle2 {
    font-size: 5.6vw;
    padding-bottom: 5.3333333333vw;
    margin-left: 8vw;
  }

  .c-headingStyle2::before {
    top: calc(50% - 2.6666666667vw);
    left: -5.3333333333vw;
    width: 1.6vw;
    height: 1.6vw;
  }

  .c-headingStyle2::after {
    left: -8vw;
    width: calc(100% + 8vw);
    height: .2666666667vw;
  }

  .c-mainv {
    padding: 33.3333333333vw 0 13.3333333333vw;
  }

  .c-mainv__img {
    margin-top: 24vw;
  }

  .c-table dl {
    -ms-grid-columns: 26.6666666667vw 1fr;
    grid-template-columns: 26.6666666667vw 1fr;
    padding: 5.3333333333vw 0;
  }

  .c-table dl dt {
    font-size: 3.7333333333vw;
  }

  .c-table dl dd {
    font-size: 3.7333333333vw;
  }

  .c-g-credit {
    padding: 21.3333333333vw 0 37.3333333333vw;
  }

  .c-g-credit__txt {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
  }

  .c-g-credit__btns {
    flex-direction: column;
    align-items: flex-end;
    gap: 6.6666666667vw;
    margin-top: 10.6666666667vw;
  }

  .c-g-credit__btn {
    width: 72vw;
    height: 16vw;
  }

  #page_about_us .sec-intro {
    padding: 13.3333333333vw 0;
  }

  #page_about_us .sec-intro__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  #page_about_us .sec-intro__tit {
    font-size: 5.8666666667vw;
    line-height: 1.6818181818;
  }

  #page_about_us .sec-intro__txt {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
    line-height: 1.875;
  }

  #page_about_us .sec-intro__map {
    top: -5%;
    left: -15%;
  }

  #page_about_us .sec-intro__list {
    width: 130%;
    bottom: -24vw;
  }

  #page_about_us .sec-strong {
    padding: 56vw 0 24vw;
    background: none;
  }

  #page_about_us .sec-strong__items {
    position: relative;
    z-index: 1;
    flex-direction: column;
    gap: 8vw;
  }

  #page_about_us .sec-strong__items::after {
    content: "";
    position: absolute;
    top: -53.3333333333vw;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    height: 100%;
    background: url(/assets/img/about_us/strong_bg.svg) no-repeat -37.3333333333vw 0%/auto 100%;
    z-index: -1;
  }

  #page_about_us .sec-strong__items:nth-child(2) {
    flex-direction: column;
    margin-top: 18.6666666667vw;
  }

  #page_about_us .sec-strong__items:nth-child(2)::after {
    top: -53.3333333333vw;
    background: url(/assets/img/about_us/strong_bg.svg) no-repeat -34.6666666667vw 0%/auto 100%;
    scale: -1 1;
  }

  #page_about_us .sec-strong__items:nth-child(2) .sec-strong__items--img {
    z-index: 1;
  }

  #page_about_us .sec-strong__items--img {
    width: 100%;
  }

  #page_about_us .sec-strong__items--inner {
    width: 100%;
  }

  #page_about_us .sec-strong__items--tit {
    font-size: 6.6666666667vw;
  }

  #page_about_us .sec-strong__items--txt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    margin-top: 1.3333333333vw;
  }

  #page_about_us .sec-info__inner {
    padding: 21.3333333333vw 0;
  }

  #page_about_us .sec-info__box {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }

  #page_about_us .sec-info__box:nth-of-type(1) dl {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 3.2vw 0;
  }

  #page_about_us .sec-info__tit {
    font-size: 5.3333333333vw;
  }

  #page_about_us .sec-info__map {
    aspect-ratio: 375/272;
  }

  #page_business .sec-intro {
    padding: 13.3333333333vw 0 32vw;
  }

  #page_business .sec-intro::after {
    background: url(/assets/img/business/intro_txt_sp.svg) no-repeat center/contain;
  }

  #page_business .sec-intro__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16vw;
  }

  #page_business .sec-intro__tit {
    font-size: 5.8666666667vw;
    line-height: 1.6818181818;
  }

  #page_business .sec-intro__txt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    margin-top: 6.6666666667vw;
  }

  #page_business .sec-detail__box._01 {
    padding-bottom: 120vw;
  }

  #page_business .sec-detail__box._02::after {
    width: 150%;
    height: 150%;
  }

  #page_business .sec-detail__box._02 .sec-detail__cnt {
    padding: 61.3333333333vw 0;
    flex-direction: column;
  }

  #page_business .sec-detail__box._02 .sec-detail__cnt--tit {
    position: absolute;
    top: 68%;
    left: 50%;
    translate: -50% -50%;
    text-align: center;
    font-size: 9.6vw;
    line-height: 1.1944444444;
    width: 100%;
  }

  #page_business .sec-detail__box._02 .sec-detail__cnt--img {
    position: absolute;
    top: 0;
    left: -22.6666666667vw;
    width: 69.3333333333vw;
  }

  #page_business .sec-detail__box._03 {
    padding-top: 32vw;
  }

  #page_business .sec-detail__cnt {
    flex-direction: column;
    align-items: flex-start;
  }

  #page_business .sec-detail__cnt--tit {
    font-size: 6.6666666667vw;
    line-height: 1.72;
  }

  #page_business .sec-detail__cnt--txt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    margin-top: 2.6666666667vw;
  }

  #page_business .sec-detail__cnt--img {
    width: 100%;
  }

  #page_business .sec-detail__cnt--img:has(video) {
    height: 85.3333333333vw;
    border-radius: 5.3333333333vw;
  }

  #page_business .sec-detail__cnt--slide {
    top: 66.6666666667vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-wrapper {
    width: 69.3333333333vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide {
    padding-bottom: 0;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide .img2 {
    width: 32vw;
    left: -20vw;
    bottom: -8vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-slide .txt {
    font-size: 2.9333333333vw;
    white-space: nowrap;
    left: 14.6666666667vw;
    bottom: -8vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination {
    bottom: -48vw;
    left: calc(50% - 8vw);
    translate: -50% 0;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination-item {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }

  #page_business .sec-detail__cnt--slide .custom-slider-pagination-item:before {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }

  #page_business .sec-detail__btm {
    position: static;
    height: 80vw;
  }

  #page_business .sec-detail__btm--txt {
    position: absolute;
    top: 63%;
    left: 50%;
    translate: -50% -50%;
    font-size: 4.5333333333vw;
    line-height: 2;
    width: 100%;
  }

  #page_business .sec-detail__btm--subtit {
    bottom: -6.6666666667vw;
    right: 0;
    font-size: 2.4vw;
    width: 53.3333333333vw;
    line-height: 1.5555555556;
  }

  #page_business .sec-detail__btm--subtit .strong {
    font-size: 5.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }

  #page_business .sec-detail__btm--img._01 {
    top: 34.6666666667vw;
    right: -8vw;
    width: 45.3333333333vw;
  }

  #page_business .sec-detail__btm--img._02 {
    bottom: 0;
    left: 0;
    width: 32vw;
  }

  #page_business .sec-detail__btm--img._03 {
    bottom: 22.6666666667vw;
    left: auto;
    right: 0;
    width: 53.3333333333vw;
  }

  #page_business .sec-sdgs {
    padding: 18.6666666667vw 0;
  }

  #page_business .sec-sdgs__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 21.3333333333vw;
  }

  #page_business .sec-sdgs__tit {
    font-size: 5.3333333333vw;
  }

  #page_business .sec-sdgs__txt {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
    line-height: 1.875;
  }

  #page_business .sec-sdgs__subtit {
    font-size: 4.2666666667vw;
    margin-top: 18.6666666667vw;
  }

  #page_business .sec-sdgs__list {
    margin-top: 8vw;
  }

  #page_business .sec-sdgs__list>li {
    -ms-grid-columns: 8vw 1fr;
    grid-template-columns: 8vw 1fr;
    padding: 4vw 0;
    font-size: 4vw;
    border-width: .2666666667vw;
    align-items: flex-start;
  }

  #page_business .sec-sdgs__list>li .num {
    font-size: 4.2666666667vw;
  }

  #page_g_credit .sec-intro {
    padding-top: 13.3333333333vw;
  }

  #page_g_credit .sec-intro__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0;
  }

  #page_g_credit .sec-intro__img {
    order: -1;
    margin-top: 9.3333333333vw;
  }

  #page_g_credit .sec-intro__info {
    display: contents;
  }

  #page_g_credit .sec-intro__tit {
    font-size: 5.8666666667vw;
    order: -2;
  }

  #page_g_credit .sec-intro__txt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    margin-top: 10.6666666667vw;
  }

  #page_g_credit .sec-intro__note {
    font-size: 3.2vw;
    line-height: 1.8333333333;
    margin-top: 4vw;
  }

  #page_g_credit .sec-intro__btn {
    width: 69.3333333333vw;
    height: 16vw;
    margin-top: 10.6666666667vw;
    margin-left: auto;
  }

  #page_g_credit .sec-intro__btn>a .icon {
    width: 3.7333333333vw;
  }

  #page_g_credit .sec-detail {
    padding: 32vw 0;
  }

  #page_g_credit .sec-detail__list::after {
    left: 8vw;
    width: .2666666667vw;
  }

  #page_g_credit .sec-detail__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 6.6666666667vw 5.3333333333vw 8vw;
  }

  #page_g_credit .sec-detail__items:first-child .sec-detail__items--num {
    width: 5.3333333333vw;
  }

  #page_g_credit .sec-detail__items:last-child::after {
    height: 77%;
  }

  #page_g_credit .sec-detail__items:nth-child(n+2) {
    margin-top: 5.3333333333vw;
  }

  #page_g_credit .sec-detail__items--inner {
    gap: 5.3333333333vw;
  }

  #page_g_credit .sec-detail__items--num {
    width: 5.8666666667vw;
  }

  #page_g_credit .sec-detail__items--tit {
    font-size: 4.8vw;
  }

  #page_g_credit .sec-detail__items--txt {
    font-size: 3.7333333333vw;
    padding-left: 10.6666666667vw;
    line-height: 1.5714285714;
    margin-top: 1.3333333333vw;
  }

  #page_g_credit .sec-detail__note {
    font-size: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }

  #page_g_credit .sec-btm a {
    padding: 34.6666666667vw 0;
  }

  #page_g_credit .sec-btm__txt {
    font-size: 6.9333333333vw;
  }

  #page_g_credit .sec-btm__icon {
    width: 4.8vw;
    height: 4.8vw;
    border-width: .5333333333vw;
  }

  #index .sec-hero__tit {
    font-size: 8.5333333333vw;
    line-height: 1.625;
  }

  #index .sec-hero__txt {
    bottom: 8vw;
    left: 4vw;
    font-size: 2.6666666667vw;
    line-height: 1.6;
  }

  #index .sec-hero__txt .strong {
    font-size: 4.5333333333vw;
    margin-bottom: 2.6666666667vw;
  }

  #index .sec-hero__scroll {
    width: 44.5333333333vw;
    bottom: -21.3333333333vw;
    right: -12vw;
  }

  #index .sec-about {
    padding: 24vw 0;
  }

  #index .sec-about__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 6.6666666667vw;
  }

  #index .sec-about__info {
    display: contents;
  }

  #index .sec-about__txt {
    font-size: 4.2666666667vw;
    order: 1;
    margin-top: 0;
  }

  #index .sec-about__btn {
    width: 56vw;
    height: 16vw;
    margin-top: 8vw;
    margin-left: auto;
    order: 2;
  }

  #index .sec-about__slide {
    position: relative;
    top: 0;
    left: -1.5%;
    translate: 0 0;
    width: 93.3333333333vw;
  }

  #index .sec-business {
    padding: 21.3333333333vw 0 10.6666666667vw;
  }

  #index .sec-business__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 8vw;
  }

  #index .sec-business__btn {
    width: 56vw;
    height: 16vw;
    margin-left: auto;
  }

  #index .sec-business__txt {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
  }

  #index .sec-business__sdgs {
    width: 69.3333333333vw;
    margin-top: 5.3333333333vw;
  }

  #index .sec-business__parallax {
    height: 149.8666666667vw;
    margin-top: 21.3333333333vw;
  }

  #index .sec-business__parallax--bg {
    background: url(/assets/img/index/business_forest_sp.svg) no-repeat 0 25%/100% auto;
  }

  #index .sec-business__parallax--txt {
    top: 26%;
    left: 49%;
    translate: -50% 0;
    width: 97%;
  }

  #index .sec-business__parallax--items._01 {
    top: 0;
    left: calc(50% - 58.6666666667vw);
    width: 51.7333333333vw;
  }

  #index .sec-business__parallax--items._02 {
    top: auto;
    bottom: 18.6666666667vw;
    left: calc(50% - 40vw);
    width: 26.6666666667vw;
  }

  #index .sec-business__parallax--items._03 {
    top: 13.3333333333vw;
    left: calc(50% + 18.6666666667vw);
    width: 35.4666666667vw;
  }

  #index .sec-business__parallax--items._04 {
    top: auto;
    bottom: 48vw;
    left: calc(50% - 10.6666666667vw);
    width: 18.6666666667vw;
  }

  #index .sec-business__parallax--items._05 {
    top: 69.3333333333vw;
    left: calc(50% + 26.6666666667vw);
    width: 18.6666666667vw;
  }

  #index .sec-business__parallax--items._06 {
    top: auto;
    bottom: 0;
    left: calc(50% + 10.6666666667vw);
    width: 42.6666666667vw;
  }

  #index .sec-info__items>a {
    padding: 16vw 5%;
    width: 100%;
  }

  #index .sec-info__items>a::before {
    width: 110%;
    left: -5%;
  }

  #index .sec-info__tit .en {
    margin-bottom: 2.6666666667vw;
  }

  #index .sec-info__txt {
    font-size: 4.2666666667vw;
    margin-top: 6.6666666667vw;
  }

  #index .sec-info__obj {
    bottom: 7.2vw;
    right: 3.4666666667vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }

  #index .sec-info__obj .icon {
    border-width: .5333333333vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }

  #page_privacy .sec-privacy {
    padding: 0 0 16vw;
  }

  #page_privacy .sec-privacy__txt {
    font-size: 3.7333333333vw;
    padding-bottom: 5.3333333333vw;
    margin-bottom: 10.6666666667vw;
    border-width: .2666666667vw;
  }

  #page_privacy .sec-privacy__table dl:nth-of-type(n+2) {
    margin-top: 10.6666666667vw;
  }

  #page_privacy .sec-privacy__table dl dt {
    font-size: 5.3333333333vw;
  }

  #page_privacy .sec-privacy__table dl dd {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
}

@media (min-width: 767px)and (max-width: 1365.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media print {
  *,
  *::before,
  *::after {
    background: rgba(0,0,0,0) !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

@media (any-hover: hover) {
  .l-nav__link:hover::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }

  .l-footer__nav--list li>a:hover {
    opacity: .7;
  }

  .l-footer__privacy>a:hover {
    text-decoration: underline;
  }

  .c-btnStyle1.-reverse:hover {
    background: #fff;
  }

  .c-btnStyle1.-reverse:hover .txt {
    color: #223a30;
  }

  .c-btnStyle1.-reverse:hover .icon {
    border-color: #223a30;
  }

  .c-btnStyle1.-prev:hover {
    background: none;
    text-decoration: none;
  }

  .c-btnStyle1.-prev:hover .txt {
    color: #223a30;
  }

  .c-btnStyle1:hover {
    background: #223a30;
  }

  .c-btnStyle1:hover .txt {
    color: #fff;
  }

  .c-btnStyle1:hover .icon {
    border-color: #fff;
  }

  .contact__agreeBox span>a:hover {
    text-decoration: none;
  }

  .sec-form__link:hover {
    border-color: rgba(0,0,0,0);
  }

  #page_g_credit .sec-intro__btn>a:hover .icon svg {
    stroke: #fff;
  }

  #page_g_credit .sec-detail__items--link:hover {
    text-decoration: none;
  }

  #page_g_credit .sec-btm a:hover::before {
    width: 100vw;
  }

  #page_g_credit .sec-btm a:hover::after {
    scale: 1;
  }

  #index .sec-info__items>a:hover .sec-info__tit {
    color: #fff;
  }

  #index .sec-info__items>a:hover .sec-info__txt {
    color: #fff;
  }

  #index .sec-info__items>a:hover .sec-info__obj {
    background: #fff;
  }

  #index .sec-info__items>a:hover .sec-info__obj .icon {
    border-color: #223a30;
  }

  #index .sec-info__items>a:hover::after {
    width: calc(100% + (100vw - 1156px)/2);
  }
}
/*# sourceMappingURL=styles.css.map */