
/*　home 共通
------------------------------------------------------------------------------------------------*/

.fv{
  padding-bottom: 5rem;
}
.fv .bg{
  width: calc(100% - 4rem);
  min-height: 60rem;
  max-height: calc(100svh - 11rem);
  aspect-ratio: 1920 / 1080;
  object-fit: cover;
  object-position: center 85%;
  margin: 0 2rem;
  pointer-events: none;
}
.fv .wrap{
  text-align: center;
  margin-top: 8rem;
}
.fv .wrap .ttl-wrap h1{
  font-size: 4rem;
  letter-spacing: 0.1em;
}
.fv .wrap .ttl-wrap .en{
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 0.9em;
}


@media screen and (min-width: 769px){
.news-swiper .swiper-wrapper{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
  transform: unset !important;
}
}
.news-swiper .swiper-slide{
  display: block;
}
.news-swiper .swiper-slide a{
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.6rem;
  border: 1px solid #C4C4C4;
}
.news-swiper .swiper-slide a .zoom{
  aspect-ratio: 232 / 147;
  margin-bottom: 1.6rem;
}
.news-swiper .swiper-slide a .txt{
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.news-swiper .swiper-slide a .txt .ttl{
  display: block;
  margin-bottom: 0.5em;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}
.news-swiper .swiper-slide a .date{
  display: block;
  font-size: 1.4rem;
  margin-top: auto;
}


@media screen and (min-width: 769px){
.press-swiper .swiper-wrapper{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
  transform: unset !important;
}
}
.press-swiper .swiper-slide,
.press-swiper .swiper-slide a{
  display: block;
}
.press-swiper .swiper-slide a .zoom{
  aspect-ratio: 232 / 147;
}
.press-swiper .swiper-slide a .ttl{
  display: block;
  font-weight: 400;
  margin-top: 1.6rem;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-all;
}


.home-csr .box{
  display: grid;
  grid-template-columns: 1fr 67rem;
  align-items: center;
  margin-bottom: 4rem;
}
.home-csr .box img.img{
  order: 2;
  width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.home-csr .box .txt{
  padding: 6.4rem;
}
.home-csr .box h3{
  font-size: 3rem;
  margin-bottom: 0.5em;
}
.home-csr .box a.arrow-btn{
  margin-top: 3rem;
}
ul.csr-li{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
}
ul.csr-li li,
ul.csr-li li a{
  display: block;
}
ul.csr-li li a .zoom{
  aspect-ratio: 368 / 200;
}
ul.csr-li li a .ttl{
  margin-top: 0.9em;
}


.home-sns .box{
  display: grid;
  grid-template-columns: 1fr 57.6rem;
  align-items: center;
  gap: 2rem;
  padding: 5rem 2rem 5rem 6.4rem;
  margin-bottom: 4.8rem;
}
.home-sns .box img.img{
  order: 2;
}
.home-sns .box h3{
  font-size: 3.6rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.home-sns .box a.arrow-btn{
  width: 100%;
  margin-top: 2.4rem;
}

ul.sns-bnr-li{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8rem;
}
ul.sns-bnr-li li{
  display: block;
}
ul.sns-bnr-li li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 8rem;
  padding: 0 2rem 0 7.2rem;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  position: relative;
}
ul.sns-bnr-li li a::before{
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background: url(../images/common/arrow-right_w.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 1.6rem;
  transition: transform 0.3s;
}
ul.sns-bnr-li li a.bg-img{
  background: url(../images/common/sns-btn-bg.jpg) center center no-repeat;
  background-size: cover;
  color: #fff;
}
ul.sns-bnr-li li a:hover::before{
  transform: translateX(0.6rem);
}
ul.sns-bnr-li li a img.ico{
  width: 3.6rem;
  position: absolute;
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
ul.sns-bnr-li li a small{
  font-size: 1.2rem;
}
ul.sns-bnr-li + ul.official-li{
  margin-top: 2.8rem;
}


/*ul.brand-li{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 4.7rem;
  row-gap: 3.5rem;
}
ul.brand-li li{
  display: block;
  border: 2px solid #EFEFEF;
}
ul.brand-li li img{
  aspect-ratio: 1 / 1;
  object-fit: contain;
}*/

ul.brand-li{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 3rem;
}
ul.brand-li li{
  display: block;
}
ul.brand-li li img{
  aspect-ratio: 1 / 0.8;
  object-fit: cover;
}


ul.products-li{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.8rem;
  row-gap: 2.4rem;
}
ul.products-li li,
ul.products-li li a{
  display: block;
}
ul.products-li li a{
  aspect-ratio: 556 / 220;
  position: relative;
}
ul.products-li li a img.bg,
ul.products-li li a::before{
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
ul.products-li li a img.bg{
  object-fit: cover;
  z-index: 0;
}
ul.products-li li a::before{
  content: "";
  background: linear-gradient(to right,#000,transparent);
  opacity: 0.3;
  z-index: 1;
}
ul.products-li li a h3{
  font-size: 2.4rem;
  position: absolute;
  left: 2.5rem;
  bottom: 2.2rem;
  z-index: 2;
}


ul.about-li{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
}
ul.about-li li,
ul.about-li li a{
  display: block;
}
ul.about-li li a{
  padding: 1.6rem;
  border: 1px solid #C4C4C4;
}
ul.about-li li a .ttl{
  margin-top: 2rem;
  position: relative;
}
ul.about-li li a .ttl::after{
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}


.home-blog .content{
  display: grid;
  grid-template-columns: 1fr 78rem;
}
.home-blog h2{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
}
ul.blog-li{
  border-top: 1px solid #E1E1E1;
}
ul.blog-li li{
  display: block;
  border-bottom: 1px solid #E1E1E1;
}
ul.blog-li li a{
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 4rem;
  row-gap: 4.8rem;
  padding: 2rem 4rem 2rem 0;
  position: relative;
}
ul.blog-li li a::before{
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background: url(../images/common/arrow-right.svg) center center no-repeat;
  background-size: contain;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 0;
  transition: transform 0.3s;
}
ul.blog-li li a:hover::before{
  transform: translateX(0.6rem);
}
ul.blog-li li a .ttl{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}


.recruit-swiper-wrap{
  position: relative;
}
.recruit-swiper-wrap .control{
  display: flex;
  gap: 2rem;
  position: absolute;
  right: 0;
  top: -9.4rem;
}

.swiper-button-prev::after,
.swiper-button-next::after{
  content: none;
}
.swiper-button-prev,
.swiper-button-next{
  width: 4.6rem;
  height: 4.6rem;
  position: unset;
  margin-top: 0;
}
.swiper-button-prev{
  background: url(../images/common/swiper-prev.svg) center center no-repeat;
  background-size: contain;
}
.swiper-button-next{
  background: url(../images/common/swiper-next.svg) center center no-repeat;
  background-size: contain;
}

.recruit-swiper{
  overflow: unset;
}
.recruit-swiper .swiper-slide{
  width: 36rem;
  margin: 0 1.4rem;
}
.recruit-swiper .swiper-slide a{
  display: block;
  position: relative;
}
.recruit-swiper .swiper-slide a .zoom{
  aspect-ratio: 360 / 240;
}
.recruit-swiper .swiper-slide a .badge{
  display: inline-block;
  line-height: 4.8rem;
  padding: 0 1em;
  font-size: 1.4rem;
  font-weight: 500;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.recruit-swiper .swiper-slide a .txt{
  display: block;
  padding: 1.6rem;
  text-align: center;
}
.recruit-swiper .swiper-slide a .txt .ttl{
  font-size: 1.8rem;
}
.recruit-swiper .swiper-slide a .cat-wrap{
  justify-content: center;
  margin-top: 1rem;
}



/*　message 共通
------------------------------------------------------------------------------------------------*/

.message .sec-1 .wrap{
  display: grid;
  grid-template-columns: 1fr 46rem;
  gap: 8rem;
}
.message .sec-1 .wrap .img{
  order: 2;
}
.message .sec-1 .wrap .txt h2{
  font-size: 3rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.5em;
}
.message .sec-1 .wrap .txt .name{
  margin-bottom: 4.8rem;
}
.message .sec-1 .wrap .txt img.sign{
  width: 20rem;
  margin: 3rem 0 0 auto;
}


ul.executives-li li{
  display: grid;
  grid-template-columns: 20rem 1fr;
  gap: 6rem;
}
ul.executives-li li + li{
  margin-top: 8rem;
  padding-top: 8rem;
  border-top: 1px solid #E1E1E1;
}
ul.executives-li li .img .name{
  margin-top: 1em;
}
ul.executives-li li .txt h3{
  font-size: 2.4rem;
  margin-bottom: 0.9em;
}



/*　philosophy 共通
------------------------------------------------------------------------------------------------*/

.philosophy .sec-1 .wrap{
  display: grid;
  grid-template-columns: 1fr 52.5rem;
  gap: 5rem;
}
.philosophy .sec-1 .wrap h2{
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

img.obi{
  width: 100%;
}


.philosophy .sec-2 img.mmr-logo{
  width: 17.2rem;
  margin: 8rem auto 0;
}
.philosophy .sec-2 img.mmr-catch{
  width: 31.4rem;
  margin: 2.8rem auto 8rem;
}
@media screen and (min-width: 769px){
.action-swiper .swiper-wrapper{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
  transform: unset !important;
}
}
.action-swiper .swiper-slide{
  display: block;
  padding: 1.6rem 1.6rem 2rem;
  font-size: 1.4rem;
  border: 1px solid #C4C4C4;
}
.action-swiper .swiper-slide h3{
  font-size: 1.8rem;
  text-align: center;
  margin: 0.7em 0;
}




/*　company 共通
------------------------------------------------------------------------------------------------*/

dl.n-dl{
  display: grid;
  grid-template-columns: 17.5rem 1fr;
  border-top: 1px solid #E1E1E1;
}
dl.n-dl dt,
dl.n-dl dd{
  padding: 2.4rem 0;
  border-bottom: 1px solid #E1E1E1;
}
dl.n-dl dt{
  font-weight: 500;
}

.company .sec-1 dl.n-dl{
  grid-template-columns: 28rem 1fr;
}
.recruit-guidelines .sec-1 dl.n-dl{
  grid-template-columns: 24rem 1fr;
}




/*　base 共通
------------------------------------------------------------------------------------------------*/

.base .sec-1 ul.base-li{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 8rem;
}
.base .sec-1 ul.base-li li{
  display: grid;
  grid-template-columns: 24rem 1fr;
  gap: 4rem;
  position: relative;
}
.base .sec-1 ul.base-li li .anchor{
  position: absolute;
  top: -4rem;
}
.base .sec-1 ul.base-li li .txt h3{
  font-size: 2rem;
  margin-bottom: 0.6em;
}
.base .sec-1 ul.base-li li .txt a.map-link{
  display: flex;
  align-items: center;
  width: fit-content;
  font-weight: 500;
  margin-top: 0.8em;
}
.base .sec-1 ul.base-li li .txt a.map-link::before{
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(../images/common/ico-map.svg) center center no-repeat;
  background-size: contain;
  margin-right: 0.5em;
}


.base .sec-2 ul.affiliate-li{
  margin-top: 8rem;
}
.base .sec-2 ul.affiliate-li > li{
  display: grid;
  grid-template-columns: 1fr 60rem;
  gap: 10rem;
}
.base .sec-2 ul.affiliate-li > li + li{
  margin-top: 12rem;
}
.base .sec-2 ul.affiliate-li > li .left h3{
  font-size: 2.4rem;
  margin-bottom: 4rem;
}




/*　sports 共通
------------------------------------------------------------------------------------------------*/

.sports .sec-1 p.p-top{
  margin-bottom: 8rem;
}


ul.athletes-li{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 2.8rem;
  row-gap: 4.8rem;
}
ul.athletes-li li,
ul.athletes-li li a{
  display: block;
}
ul.athletes-li li a .ttl{
  font-size: 2rem;
  margin-top: 0.6em;
}
ul.athletes-li li a .cat-wrap{
  margin-top: 1.4rem;
}


.athletes-sec .overview{
  display: grid;
  grid-template-columns: 26.4rem 1fr;
  gap: 4.8rem;
}
.athletes-sec .overview .txt .cat-wrap{
  margin-bottom: 0.8rem;
}
.athletes-sec .overview .txt .ttl-wrap{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 1rem;
}
.athletes-sec .overview .txt .ttl-wrap h1{
  font-size: 3.2rem;
  letter-spacing: 0.04em;
}
.athletes-sec .overview .txt .ttl-wrap .kana{
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  opacity: 0.5;
}
.athletes-sec .overview .txt dl{
  display: grid;
  grid-template-columns: auto auto;
  justify-content: flex-start;
  column-gap: 4.8rem;
  row-gap: 0.7em;
  margin-top: 2.4rem;
}
.athletes-sec .overview .txt dl dt{
  font-weight: 500;
}
.athletes-sec .detail{
  margin-top: 4.8rem;
  padding: 4.8rem 0;
  border-top: 1px solid #E1E1E1;
  border-bottom: 1px solid #E1E1E1;
}
.athletes-sec .detail h2{
  line-height: 1.7;
  margin: 4.8rem 0 1em;
}
.athletes-sec .detail h2:first-child{
  margin-top: 0;
}




/*　recruit 共通
------------------------------------------------------------------------------------------------*/

.recruit .sec-1 h2{
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4rem;
}
.recruit .sec-1 h2 + p{
  text-align: center;
}
.recruit .sec-1 ul.menu-li{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin-top: 8rem;
}
.recruit .sec-1 ul.menu-li li,
.recruit .sec-1 ul.menu-li li a{
  display: block;
}
.recruit .sec-1 ul.menu-li li a{
  height: 100%;
  padding: 3rem;
  border: 1px solid #C4C4C4;
}
.recruit .sec-1 ul.menu-li li a .zoom{
  aspect-ratio: 490 / 258;
}
.recruit .sec-1 ul.menu-li li a .ttl{
  font-size: 2rem;
  margin: 0.9em 0 0.7em;
}


ul.recruit-li{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
ul.recruit-li li{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 2rem;
  position: relative;
}
ul.recruit-li li .anchor{
  position: absolute;
  top: -3rem;
}
ul.recruit-li li .badge{
  display: inline-block;
  line-height: 4.8rem;
  padding: 0 1em;
  font-size: 1.4rem;
  font-weight: 500;
  position: absolute;
  left: 0;
  top: 0;
}
ul.recruit-li li .txt:has( + .arrow-btn){
  margin-bottom: 2rem;
}
ul.recruit-li li .txt .ttl{
  font-size: 1.8rem;
  line-height: 1.55;
  margin-top: 1em;
}
ul.recruit-li li .txt p{
  margin-top: 1.6rem;
}
ul.recruit-li li .txt .cat-wrap{
  margin-top: 1.6rem;
}
ul.recruit-li li a.arrow-btn{
  width: 100%;
  margin-top: auto;
}


ul.support-li{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 8rem;
}
ul.support-li li{
  display: block;
  padding: 3.4rem 0 4rem;
  border-bottom: 1px solid #C3C3C3;
}
ul.support-li li:nth-child(-n+2){
  border-top: 1px solid #C3C3C3;
}
ul.support-li li .ttl{
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  margin-bottom: 1.4rem;
}
ul.support-li li .ttl img.ico{
  width: 3rem;
  margin-right: 1.2rem;
}


.mynavi-cta{
  background: url(../images/recruit/mynavi-bg.jpg) center center no-repeat;
  background-size: cover;
  padding: 4.8rem;
  color: #fff;
  position: relative;
}
.mynavi-cta::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.3;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.mynavi-cta .inner{
  position: relative;
  z-index: 1;
}
.mynavi-cta p{
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
.mynavi-cta a.btn{
  display: block;
  width: 56rem;
  margin: 2.4rem auto 0;
}


.recruit-guidelines .sec-1 h1{
  font-size: 4rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4.8rem;
}


p:has(+ .form-box){
  margin-bottom: 8rem;
}
.form-box{
  color: #3A3C37;
  padding: 8rem 12rem;
}
.form-box h2,
.form-box h1{
  font-size: 4rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4.8rem;
}
dl.form-dl{
  display: grid;
  grid-template-columns: 22rem 1fr;
  border-top: 1px solid #CFD2D3;
}
dl.form-dl dt,
dl.form-dl dd{
  padding: 2.4rem 0;
  border-bottom: 1px solid #CFD2D3;
}
dl.form-dl dt{
  font-weight: 500;
}
dl.form-dl dd.col2{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
.wpcf7-form-control-wrap{
  display: block;
}
dl.form-dl dd:not(.col2) input[type=text] + input[type=text],
dl.form-dl dd:not(.col2) .wpcf7-form-control-wrap + .wpcf7-form-control-wrap{
  margin-top: 1.2rem;
}
dl.form-dl dd .note{
  font-size: 1.2rem;
  line-height: 1.5;
  opacity: 0.6;
  margin-top: 1em;
}
dl.form-dl dd .re-enter{
  margin: 1em 0 0.6em;
}
dl.form-dl dt span,
.form-box .agree-wrap p span{
  color: #DB1157;
}
.form-box .agree-wrap{
  margin-top: 4.8rem;
}
.form-box .agree-wrap p{
  color: #707070;
  margin-bottom: 2rem;
}
dl.form-dl input[type=text],
dl.form-dl input[type=email],
dl.form-dl input[type=tel],
dl.form-dl textarea,
.select-wrap select{
  display: block;
  width: 100%;
  padding: 0.7em 1.2em;
  background: #fff;
  border: 1px solid #CFD2D3;
  font-size: 1.6rem;
}
dl.form-dl input[type=text]:focus,
dl.form-dl input[type=email]:focus,
dl.form-dl input[type=tel]:focus,
dl.form-dl textarea:focus,
.select-wrap select:focus{
  border-color: #00874F;
}
dl.form-dl textarea{
  height: 32rem;
}
.select-wrap select{
  padding-right: 3.2rem;
}
.form-box .btn-wrap{
  display: flex;
  flex-direction: row-reverse;
  gap: 2rem;
  margin-top: 4.8rem;
}
.form-box .submit-btn,
.form-box .back-btn{
  width: 100%;
  height: 6.4rem;
  background: #1A2527;
  color: #fff;
  position: relative;
}
.form-box .back-btn{
  background: #999;
}
.form-box .submit-btn input[type=submit],
.form-box .back-btn input[type=button]{
  display: block;
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
}
.form-box .submit-btn::after{
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background: url(../images/common/arrow-right_w.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.6rem;
  top: 0;
  transition: transform 0.3s;
}
.form-box .submit-btn:hover::after{
  transform: translateX(0.6rem);
}


.codedropz-upload-inner h3{
  font-size: 2.6rem;
}
.codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn{
  display: inline-block;
  padding: 0.2em 0.6em;
  border-radius: 0.3rem;
  background: #00874F;
  color: #fff;
  font-weight: 700;
  margin-top: 0.5em;
}


.radio,
.wpcf7-radio{
  display: grid;
  gap: 1.2rem;
}
.radio:has( > label:nth-child(2)),
.wpcf7-radio:has( > .wpcf7-list-item:nth-child(2)){
  grid-template-columns: repeat(2, 1fr);
}
.radio label{
  display: block;
  padding: 1.1rem;
  background: #fff;
  border: 1px solid #CFD2D3;
  cursor: pointer;
  position: relative;
}
.radio label:has(input[type=radio]:checked){
  background-color: #F9FCFA;
  border-color: #00874F;
}
.radio input[type=radio]{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.radio input[type=radio] + span{
  display: inline-block;
  padding-left: calc(2.4rem + 0.5em);
  line-height: 2.4rem;
  cursor: pointer;
  position: relative;
}
.radio input[type=radio] + span::before{
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #CFD2D3;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.radio input[type=radio]:checked + span::after{
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #00874F;
  position: absolute;
  left: 0.6rem;
  top: 50%;
  margin-top: -0.6rem;
}


.checkbox,
.wpcf7-checkbox{
  display: grid;
  gap: 1.2rem;
}
.checkbox:has( > label:nth-child(2)),
.wpcf7-checkbox:has( > .wpcf7-list-item:nth-child(2)){
  grid-template-columns: repeat(2, 1fr);
}
.checkbox label{
  display: block;
  padding: 1.1rem;
  background: #fff;
  border: 1px solid #CFD2D3;
  cursor: pointer;
  position: relative;
}
.checkbox label:has(input[type=checkbox]:checked){
  background-color: #F9FCFA;
  border-color: #00874F;
}
.checkbox input[type=checkbox]{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.checkbox input[type=checkbox] + span{
  display: inline-block;
  padding-left: calc(2.4rem + 0.6em);
  line-height: 2.4rem;
  position: relative;
}
.checkbox input[type=checkbox] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  box-sizing: border-box;
  border: 1px solid #CFD2D3;
}
.checkbox input[type=checkbox]:checked + span::before{
  background: #00874F;
  border: 1px solid #00874F;
}
.checkbox input[type=checkbox]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.8rem;
  left: 0.85rem;
  width: 0.5rem;
  height: 1rem;
  transform: rotate(43deg);
  border-bottom: 0.28rem solid #fff;
  border-right: 0.28rem solid #fff;
}


.select-wrap{
  display: block;
  position: relative;
}
.select-wrap::before{
  content: "";
  display: block;
  width: 1rem;
  height: 3em;
  background: url(../images/common/arrow-btm.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.1rem;
  top: 0;
  z-index: 1;
  pointer-events: none;
}


/* CF7用  */
.wpcf7-list-item{
  display: block;
  margin: 0;
}
.wpcf7-not-valid-tip{
  font-size: 90%;
  margin-top: 0.5em;
}
.wpcf7-spinner{
  position: absolute;
  bottom: calc(-2rem - 24px);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}
form.submitting .wpcf7-spinner{
  display: block;
}
.wpcf7 form .wpcf7-response-output{
  text-align: center;
  margin: 2rem auto 0;
}




/*　data 共通
------------------------------------------------------------------------------------------------*/

ul.data-li{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
ul.data-li li{
  display: block;
  grid-row: span 2;
}
ul.data-li li.half{
  grid-row: unset;
}
ul.data-li li .ttl-wrap{
  display: flex;
  align-items: center;
  padding-bottom: 1.6rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #E1E1E1;
}
ul.data-li li .ttl-wrap img.ico{
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  margin: 0.3rem 1rem 0 0;
}
ul.data-li li .ttl-wrap h2{
  flex: 1;
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
ul.data-li li .ttl-wrap .date{
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  opacity: 0.5;
  margin-left: auto;
}




/*　history 共通
------------------------------------------------------------------------------------------------*/

dl.history-dl{
  display: grid;
  grid-template-columns: 28rem 1fr;
  border-top: 1px solid #E1E1E1;
}
dl.history-dl dt,
dl.history-dl dd{
  padding: 2rem 0;
  border-bottom: 1px solid #E1E1E1;
}
dl.history-dl dt{
  font-weight: 500;
}




/*　business 共通
------------------------------------------------------------------------------------------------*/

.business .sec-2 .content{
  position: relative;
}
.business .sec-2 img.img{
  width: 40rem;
  position: absolute;
  right: 12rem;
  top: 50%;
  transform: translateY(-50%);
}
.business .sec-2 .ttl-1-wrap + p{
  width: 55.6rem;
}
.business .sec-2 .btn-wrap{
  width: 55.6rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2.8rem;
  row-gap: 2rem;
  margin-top: 4.8rem;
}
.business .sec-2 .btn-wrap a{
  display: flex;
  align-items: center;
  width: 100%;
  height: 6.4rem;
  border: 1px solid #C4C4C4;
  padding: 0 1.5rem;
  font-weight: 500;
  position: relative;
}
.business .sec-2 .btn-wrap a::before{
  content: "";
  display: block;
  width: 1.6rem;
  height: 100%;
  background: url(../images/common/arrow-btm_g.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.5rem;
  top: 0;
}


.business .sec-3 h4{
  font-size: 2.4rem;
  margin-bottom: 2rem;
}
ul.products-li + ul.official-li{
  margin-top: 4.8rem;
}
ul.official-li + ul.sns-bnr-li{
  margin-top: 2.8rem;
}


.business .sec-5 .img-wrap,
.business .sec-6 .img-wrap{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
.business .sec-5 .img-wrap img,
.business .sec-6 .img-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}




/*　products 共通
------------------------------------------------------------------------------------------------*/

.products .sec-1 p.p-top{
  margin-bottom: 8rem;
}

ul.products-li-2 li{
  display: grid;
  grid-template-columns: 48rem 1fr;
  gap: 8rem;
  align-items: center;
  position: relative;
}
ul.products-li-2 li .anchor{
  position: absolute;
  top: -4rem;
}
ul.products-li-2 li + li{
  margin-top: 8rem;
}
ul.products-li-2 li .ttl{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.8em;
}
ul.products-li-2 li a.shop-link{
  display: flex;
  align-items: center;
  width: fit-content;
  font-size: 1.4rem;
  margin-top: 2.8rem;
}
ul.products-li-2 li a.shop-link::before{
  content: "";
  display: inline-block;
  width: 2.28em;
  height: 2.28em;
  background: url(../images/common/ico-cart_b.svg) center center no-repeat;
  background-size: contain;
  margin-right: 0.4em;
}
ul.products-li-2 li .btn-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 1.4rem;
}
ul.products-li-2 li .btn-wrap a.arrow-btn{
  width: 100%;
  margin: 0;
}




/*　sustainability 共通
------------------------------------------------------------------------------------------------*/

.sustainability .sec-1 .content{
  display: grid;
  grid-template-columns: 33rem 1fr;
  gap: 15rem;
}
.sustainability .sec-1 p.catch{
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3.6rem;
}


.sustainability h2.h2-1{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4rem;
}
.sustainability .sec-2 ul.promise-li{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
}
.sustainability .sec-2 ul.promise-li li{
  display: block;
  padding: 4rem 2rem;
}
.sustainability .sec-2 ul.promise-li li img.img{
  width: 9.2rem;
  margin: 0 auto 2rem;
}
.sustainability .sec-2 ul.promise-li li p{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 5.1em;
  font-size: 1.4rem;
  text-align: center;
}
.sustainability .sec-2 ul.promise-li + p{
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
  margin-top: 4rem;
}


.sustainability .sec-3 .wrap{
  display: grid;
  grid-template-columns: 1fr 48rem;
  gap: 8rem;
}
.sustainability .sec-3 .wrap img.img{
  order: 2;
}
.sustainability .sec-3 img.llp-scheme{
  margin-top: 8rem;
}


.sustainability .sec-4 h2{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4rem;
}
.sustainability .sec-4 ul.group-li > li{
  display: block;
  padding: 4rem;
}
.sustainability .sec-4 ul.group-li > li + li{
  margin-top: 2.8rem;
}
.sustainability .sec-4 ul.group-li > li h3{
  width: fit-content;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  border-bottom: 2px solid;
}
.sustainability .sec-4 ul.group-li > li .wrap{
  display: grid;
  grid-template-columns: 36rem 1fr;
  gap: 4.4rem;
}
.sustainability .sec-4 ul.group-li > li .wrap .left{
  padding-top: 2.4rem;
}
.sustainability .sec-4 ul.group-li > li .wrap .left p{
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  margin-top: 0.5em;
}
.sustainability .sec-4 ul.group-li > li .wrap .left p + p{
  margin-top: 0.3em;
}
.sustainability .sec-4 ul.group-li > li .wrap .right{
  padding: 2.2rem 0;
  border: 2px solid #EFEFEF;
}
.sustainability .sec-4 ul.group-li > li .wrap .right h4{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13.6rem;
  height: 3.6rem;
  border-radius: 1.8rem;
  font-weight: 500;
  margin: 0 auto 1.6rem;
}
ul.brand-li-2{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6rem;
}
ul.brand-li-2 li{
  display: block;
  width: 14rem;
}
ul.brand-li-2 li img{
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 2px solid #EFEFEF;
}
ul.brand-li-2 li p{
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.5;
  margin-top: 0.7em;
}


.sustainability .sec-5 .ttl-1-wrap + p{
  margin-bottom: 8rem;
}
.sustainability .sec-5 ul.innovations-li li{
  display: grid;
  grid-template-columns: 1fr 72rem;
  gap: 4rem;
}
.sustainability .sec-5 ul.innovations-li li + li{
  padding-top: 8rem;
  margin-top: 8rem;
  border-top: 1px solid #E1E1E1;
}
.sustainability .sec-5 ul.innovations-li li h3{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
}
.sustainability .sec-5 ul.innovations-li li .img-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 4rem;
}


.sustainability .sec-6 .nepal-box .inner{
  padding: 4rem;
  position: relative;
}
.sustainability .sec-6 .nepal-box .inner .h2-top{
  margin-bottom: 0.3em;
}
.sustainability .sec-6 .nepal-box .inner h2{
  font-size: 3rem;
  margin-bottom: 1.6rem;
}
.sustainability .sec-6 .nepal-box .inner a.arrow-btn{
  width: 28rem;
  position: absolute;
  right: 4rem;
  bottom: 4rem;
}


.sustainability .sec-7 .report-box{
  display: grid;
  grid-template-columns: 1fr 48rem;
  align-items: center;
  background-color: #F6F8E7;
  font-size: 1.4rem;
  padding: 3rem 15rem 3rem 3rem;
}
.sustainability .sec-7 .report-box .img{
  display: flex;
  justify-content: center;
  align-items: center;
}
.sustainability .sec-7 .report-box .img img{
  width: 30rem;
}
.sustainability .sec-7 .report-box .txt h2 a{
  display: block;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #00874F;
  font-size: 2rem;
  letter-spacing: 0.04em;
  line-height: 1.2;
  font-weight: 700;
  position: relative;
}
.sustainability .sec-7 .report-box .txt h2 a::before{
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background: url(../images/common/arrow-right_g.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.5rem;
  top: 0;
  transition: transform 0.3s;
}
.sustainability .sec-7 .report-box .txt h2 a:hover::before{
  transform: translateX(0.6rem);
}
.sustainability .sec-7 .report-box .txt h2 + p{
  margin-top: 1em;
}
.sustainability .sec-7 .report-box .txt h3{
  display: flex;
  align-items: center;
  font-weight: 700;
  margin: 2.8rem 0 1rem;
}
.sustainability .sec-7 .report-box .txt h3 .ico{
  width: 1.6rem;
  margin-right: 0.8rem;
}
.sustainability .sec-7 .report-box .txt ul{
  border-top: 1px solid #C3C3C3;
}
.sustainability .sec-7 .report-box .txt ul li{
  display: block;
  border-bottom: 1px solid #C3C3C3;
}
.sustainability .sec-7 .report-box .txt ul li a{
  display: block;
  font-weight: 500;
  padding: 1.5rem 0;
  position: relative;
}
.sustainability .sec-7 .report-box .txt ul li a::before{
  content: "";
  display: block;
  width: 0.5rem;
  height: 100%;
  background: url(../images/common/arrow-right_g.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 0;
  transition: transform 0.3s;
}
.sustainability .sec-7 .report-box .txt ul li a:hover::before{
  transform: translateX(0.6rem);
}




/*　nepal 共通
------------------------------------------------------------------------------------------------*/

.nepal .sec-1 h2{
  font-size: 3.2rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4rem;
}
.nepal .sec-1 h2 + p{
  text-align: center;
  margin-bottom: 8rem;
}
.nepal .sec-1 .instagram-box{
  background-color: #5965C3;
  color: #F9FCFA;
  padding: 4rem;
  position: relative;
}
#sb_instagram #sbi_images{
  padding: 0;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2rem;
  margin-bottom: 3rem;
}
.nepal .sec-1 .instagram-box .img-wrap{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}
.nepal .sec-1 .instagram-box .ttl{
  display: flex;
  align-items: center;
  font-size: 3rem;
  margin-bottom: 1.6rem;
}
.nepal .sec-1 .instagram-box .ttl img.ico{
  width: 4rem;
  margin-right: 1rem;
}
.nepal .sec-1 .instagram-box a.arrow-btn{
  width: 28rem;
  position: absolute;
  right: 4rem;
  bottom: 4rem;
}

ul.activities-li li{
  display: flex;
  align-items: center;
  gap: 10rem;
}
ul.activities-li li:nth-child(2n-1){
  flex-direction: row-reverse;
}
ul.activities-li li + li{
  margin-top: 12rem;
}
ul.activities-li li .img{
  width: 42rem;
}
ul.activities-li li .txt{
  flex: 1;
}
ul.activities-li li .label{
  width: fit-content;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 0.5em;
  margin-bottom: 0.5em;
}
ul.activities-li li .ttl{
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  margin-bottom: 3.6rem;
}




/*　news 共通
------------------------------------------------------------------------------------------------*/

ul.news-li-2{
  border-top: 1px solid #E1E1E1;
}
ul.news-li-2 li{
  display: block;
  border-bottom: 1px solid #E1E1E1;
}
ul.news-li-2 li a{
  display: grid;
  grid-template-columns: 20rem 1fr;
  gap: 4rem;
  align-items: center;
  padding: 2.4rem 0;
}
ul.news-li-2 li a .zoom{
  aspect-ratio: 200 / 124;
}
ul.news-li-2 li a .txt .date{
  display: block;
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 0.6em;
}
ul.news-li-2 li a .txt .ttl{
  font-size: 1.6rem;
  margin-bottom: 0.6em;
}
ul.news-li-2 li a .txt p{
  font-size: 1.4rem;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}


ul.page-numbers{
  display: flex;
  justify-content: center;
  gap: 0.7em;
  font-size: 1.4rem;
  margin: 5rem auto 0;
}
ul.page-numbers li{
  display: block;
}
ul.page-numbers li .page-numbers{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.3em;
  height: 2.3em;
  background: #fff;
  border: 1px solid #C3C3C3;
  transition: color 0.3s, border-color 0.3s, background 0.3s;
}
ul.page-numbers li a.page-numbers:hover,
ul.page-numbers li .page-numbers.current{
  border-color: transparent;
  background: #00874F;
  color: #fff;
  opacity: 1;
}
ul.page-numbers li .page-numbers.current{
  font-weight: 700;
}
ul.page-numbers li .page-numbers.dots{
  background: none;
  border: none;
  width: 1.8em;
}


.post-sec .date{
  font-size: 2rem;
  margin-bottom: 0.2em;
}
.post-sec h1{
  font-size: 2.8rem;
  margin-bottom: 4rem;
}
.post-sec .thumb{
  margin: 0 auto 4rem;
}
.post-sec .thumb.press-thumb{
  width: 100%;
  aspect-ratio: 840 / 521;
  object-fit: contain;
  background-color: #F7F7F4;
}
.post-txt a{
  color: #00874F;
  text-decoration: underline;
}
.post-txt p{
  margin: 1.5em 0;
}
.post-txt img{
  margin: 4rem auto;
}
.post-txt ul li,
.post-txt ol li{
  margin-left: 1.5em;
}
.post-txt + a.arrow-btn{
  margin-top: 8rem;
}




/*　blog 共通
------------------------------------------------------------------------------------------------*/

ul.blog-li-2{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4.2rem;
  row-gap: 4.8rem;
}
ul.blog-li-2 li,
ul.blog-li-2 li a{
  display: block;
}
ul.blog-li-2 li a .zoom{
  aspect-ratio: 352 / 242;
}
ul.blog-li-2 li a .date{
  display: block;
  font-size: 1.4rem;
  margin: 1em 0 0.5em;
}
ul.blog-li-2 li a .ttl{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}




/*　privacy-policy 共通
------------------------------------------------------------------------------------------------*/

.plain-sec h1{
  font-size: 4rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 4rem;
}
.plain-sec h2{
  font-size: 1.8rem;
  margin: 4rem 0 0.8em;
}




/*　sponsor 共通
------------------------------------------------------------------------------------------------*/

.sponsor .sec-1 p.p-top{
  margin-bottom: 8rem;
}

ul.sponsor-li-2 > li{
  display: block;
  padding-bottom: 8rem;
  border-bottom: 1px solid #E1E1E1;
}
ul.sponsor-li-2 > li + li{
  margin-top: 8rem;
}
ul.sponsor-li-2 > li h3.h3-1{
  font-size: 2.4rem;
  margin-bottom: 1em;
}
ul.sponsor-li-2 > li .wrap{
  display: grid;
  grid-template-columns: 1fr 45rem;
  gap: 12rem;
}
ul.sponsor-li-2 > li .wrap .txt img.logo-ghibli{
  width: 48rem;
  margin-bottom: 4rem;
}
ul.sponsor-li-2 > li .wrap .img-wrap p{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.4rem;
  margin-top: 0.6em;
}
ul.sponsor-li-2 > li .wrap .img-wrap p span{
  font-size: 1.2rem;
}
ul.sponsor-li-2 > li .wrap .img-wrap p + img.img{
  margin-top: 4rem;
}
ul.sponsor-li-2 > li ul.ul-1{
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1em;
}
ul.sponsor-li-2 > li ul.ul-1 li{
  display: block;
}




/*　press 共通
------------------------------------------------------------------------------------------------*/

ul.press-li{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.8rem;
  row-gap: 4.8rem;
}
ul.press-li li,
ul.press-li li a{
  display: block;
}
ul.press-li li a .zoom{
  aspect-ratio: 232 / 147;
}
ul.press-li li a .ttl{
  display: block;
  font-weight: 400;
  margin-top: 1.6rem;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-all;
}




/*　 共通
------------------------------------------------------------------------------------------------*/




/*　 共通
------------------------------------------------------------------------------------------------*/




/*　 共通
------------------------------------------------------------------------------------------------*/




/*　スマホ
------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){


/*　home SP
------------------------------------------------------------------------------------------------*/

.fv{
  padding-bottom: 1rem;
}
.fv .bg{
  width: 100%;
  min-height: unset;
  max-height: unset;
  margin: 0;
}
.fv .wrap{
  margin-top: 2.6rem;
}
.fv .wrap .ttl-wrap h1{
  font-size: 1.8rem;
}
.fv .wrap .ttl-wrap .en{
  font-size: 1.2rem;
  margin-top: 0.5em;
}


.news-swiper{
  overflow: unset;
}
.news-swiper .swiper-slide{
  width: 26.4rem;
  height: auto;
  margin-right: 1.6rem;
}
.news-swiper .swiper-slide:last-child{
  margin-right: 0;
}
.news-swiper .swiper-slide a .zoom{
  margin-bottom: 1.2rem;
}
.news-swiper .swiper-slide a .txt .ttl{
  margin-bottom: 0.5em;
}


.press-swiper{
  overflow: unset;
}
.press-swiper .swiper-slide{
  width: 23.2rem;
  margin-right: 1.6rem;
}
.press-swiper .swiper-slide:last-child{
  margin-right: 0;
}
.press-swiper .swiper-slide a .ttl{
  margin-top: 1.2rem;
}


.home-csr .box{
  grid-template-columns: 100%;
  margin-bottom: 2.8rem;
}
.home-csr .box img.img{
  order: unset;
  min-height: 18rem;
}
.home-csr .box .txt{
  padding: 4rem 2.4rem;
}
.home-csr .box h3{
  font-size: 1.8rem;
}
.home-csr .box a.arrow-btn{
  margin-top: 2.8rem;
}
ul.csr-li{
  grid-template-columns: 100%;
  gap: 1.6rem;
}
ul.csr-li li a{
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: 1.6rem;
  align-items: center;
}
ul.csr-li li a .ttl{
  font-size: 1.6rem;
  margin-top: 0;
}


.home-sns .box{
  grid-template-columns: 100%;
  gap: 0;
  padding: 2rem 2.4rem 4rem;
  margin-bottom: 4rem;
}
.home-sns .box img.img{
  order: unset;
}
.home-sns .box h3{
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
}
.home-sns .box h3 img{
  width: 25.8rem;
  margin: 0 auto;
}
.home-sns .box a.arrow-btn{
  width: 23rem;
}

ul.sns-bnr-li{
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
ul.sns-bnr-li li a{
  height: 5.2rem;
  padding: 0 1rem 0 4rem;
  font-size: 1.6rem;
  line-height: 1.4;
}
ul.sns-bnr-li li a::before{
  width: 0.7rem;
  right: 0.8rem;
}
ul.sns-bnr-li li a:hover::before{
  transform: translateX(0.4rem);
}
ul.sns-bnr-li li a img.ico{
  width: 2.5rem;
  left: 0.8rem;
}
ul.sns-bnr-li li a small{
  font-size: 1rem;
}
ul.sns-bnr-li + ul.official-li{
  margin-top: 1.2rem;
}


ul.brand-li{
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.4rem;
  row-gap: 1.4rem;
}


ul.products-li{
  grid-template-columns: 100%;
  row-gap: 0.6rem;
}
ul.products-li li a{
  aspect-ratio: 358 / 130;
}
ul.products-li li a h3{
  font-size: 1.8rem;
  left: 1.2rem;
  bottom: 1rem;
}


ul.about-li{
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
ul.about-li li a{
  padding: 1.2rem;
}
ul.about-li li a .ttl{
  margin-top: 1.2rem;
}


.home-blog .content{
  grid-template-columns: 100%;
}
.home-blog h2{
  font-size: 1.8rem;
}
ul.blog-li li a{
  grid-template-columns: 100%;
  gap: 0.2rem;
  padding: 1.6rem 2rem 1.6rem 0;
}
ul.blog-li li a::before{
  width: 0.7rem;
}
ul.blog-li li a:hover::before{
  transform: translateX(0.4rem);
}
ul.blog-li li a .date{
  order: 2;
}
ul.blog-li li a .ttl{
  -webkit-line-clamp: 2;
}


.recruit-swiper-wrap .control{
  gap: 1rem;
  top: -6rem;
}

.swiper-button-prev,
.swiper-button-next{
  width: 3.6rem;
  height: 3.6rem;
}

.recruit-swiper .swiper-slide{
  width: 26.4rem;
  margin: 0 1.2rem;
}
.recruit-swiper .swiper-slide a:last-child{
  margin-right: 0;
}
.recruit-swiper .swiper-slide a .badge{
  line-height: 3.8rem;
}
.recruit-swiper .swiper-slide a .txt .ttl{
  font-size: 1.6rem;
}
.recruit-swiper .swiper-slide a .cat-wrap{
  margin-top: 0.8rem;
}



/*　message SP
------------------------------------------------------------------------------------------------*/

.message .sec-1 .wrap{
  grid-template-columns: 100%;
  gap: 3rem;
}
.message .sec-1 .wrap .img{
  order: unset;
  width: 24rem;
  margin: 0 auto;
}
.message .sec-1 .wrap .txt h2{
  font-size: 1.8rem;
  margin-bottom: 0.3em;
}
.message .sec-1 .wrap .txt .name{
  margin-bottom: 2.8rem;
}
.message .sec-1 .wrap .txt img.sign{
  width: 12rem;
  margin: 1rem 0 0 auto;
}


ul.executives-li li{
  grid-template-columns: 100%;
  gap: 2.4rem;
}
ul.executives-li li + li{
  margin-top: 4rem;
  padding-top: 4rem;
}
ul.executives-li li .img img{
  width: 20rem;
  margin: 0 auto;
}
ul.executives-li li .img .name{
  text-align: center;
}
ul.executives-li li .txt h3{
  font-size: 1.8rem;
  margin-bottom: 2.4rem;
}



/*　philosophy SP
------------------------------------------------------------------------------------------------*/

.philosophy .sec-1 .wrap{
  grid-template-columns: 100%;
  gap: 0;
}
.philosophy .sec-1 .wrap h2{
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 4rem;
}

img.obi{
  width: 100%;
}


.philosophy .sec-2 img.mmr-logo{
  width: 12.6rem;
  margin: 5rem auto 0;
}
.philosophy .sec-2 img.mmr-catch{
  width: 24.6rem;
  margin: 2rem auto 5.6rem;
}
.action-swiper{
  overflow: unset;
}
.action-swiper .swiper-slide{
  width: 26.4rem;
  height: auto;
  margin: 0 1.2rem;
}
.swiper-pagination{
  position: unset;
  display: flex;
  justify-content: center;
  margin: 2.4rem 0 0;
}
.swiper-pagination-bullet{
  width: 1rem;
  height: 1rem;
  border-radius: 0;
  background-color: #3A3C37;
  opacity: 0.2;
  margin: 0 0.4rem !important;
}
.swiper-pagination-bullet-active{
  background-color: #00874F;
  opacity: 1;
}




/*　company SP
------------------------------------------------------------------------------------------------*/

dl.n-dl{
  grid-template-columns: 100%;
  border-top: 1px solid #E1E1E1;
}
dl.n-dl dt{
  padding: 1.6rem 0 0.2em;
  border-bottom: none;
}
dl.n-dl dd{
  padding: 0 0 1.6rem;
}

.company .sec-1 dl.n-dl,
.recruit-guidelines .sec-1 dl.n-dl{
  grid-template-columns: 100%;
}




/*　base SP
------------------------------------------------------------------------------------------------*/

.base .sec-1 ul.base-li{
  grid-template-columns: 100%;
  row-gap: 4rem;
}
.base .sec-1 ul.base-li li{
  grid-template-columns: 100%;
  gap: 1.2rem;
}
.base .sec-1 ul.base-li li .txt h3{
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}
.base .sec-1 ul.base-li li .txt a.map-link{
  margin-top: 0.6em;
}


.base .sec-2 ul.affiliate-li{
  margin-top: 0;
}
.base .sec-2 ul.affiliate-li > li{
  grid-template-columns: 100%;
  gap: 2.4rem;
}
.base .sec-2 ul.affiliate-li > li + li{
  margin-top: 5.6rem;
}
.base .sec-2 ul.affiliate-li > li .left h3{
  font-size: 1.6rem;
  margin-bottom: 0.8em;
}




/*　sports SP
------------------------------------------------------------------------------------------------*/

.sports .sec-1 p.p-top{
  margin-bottom: 8rem;
}


ul.athletes-li{
  grid-template-columns: 24rem;
  justify-content: center;
  row-gap: 4rem;
}
ul.athletes-li li a .ttl{
  font-size: 1.6rem;
  margin-top: 0.6em;
}
ul.athletes-li li a .cat-wrap{
  margin-top: 1rem;
}


.athletes-sec .overview{
  grid-template-columns: 24rem;
  justify-content: center;
  row-gap: 1.6rem;
}
.athletes-sec .overview .txt .cat-wrap{
  margin-bottom: 0.8rem;
}
.athletes-sec .overview .txt .ttl-wrap{
  column-gap: 0;
}
.athletes-sec .overview .txt .ttl-wrap h1{
  font-size: 1.6rem;
}
.athletes-sec .overview .txt .ttl-wrap .kana{
  font-size: 1.2rem;
}
.athletes-sec .overview .txt dl{
  column-gap: 3.2rem;
  margin-top: 2rem;
}
.athletes-sec .detail{
  margin-top: 4rem;
  padding: 4rem 0;
}
.athletes-sec .detail h2{
  margin: 4rem 0 0.6em;
}




/*　recruit SP
------------------------------------------------------------------------------------------------*/

.recruit .sec-1 h2{
  font-size: 2rem;
  margin-bottom: 2.4rem;
}
.recruit .sec-1 h2 + p{
  text-align: left;
}
.recruit .sec-1 ul.menu-li{
  grid-template-columns: 100%;
  gap: 1.6rem;
  margin-top: 3rem;
}
.recruit .sec-1 ul.menu-li li a{
  padding: 1.6rem;
}
.recruit .sec-1 ul.menu-li li a .ttl{
  font-size: 1.6rem;
}


ul.recruit-li{
  grid-template-columns: 100%;
  gap: 1.6rem;
}
ul.recruit-li li{
  padding: 1.6rem;
}
ul.recruit-li li .anchor{
  top: -1.6rem;
}
ul.recruit-li li .badge{
  line-height: 3.8rem;
}
ul.recruit-li li .txt:has( + .arrow-btn){
  margin-bottom: 1.6rem;
}
ul.recruit-li li .txt .ttl{
  font-size: 1.6rem;
  margin-top: 0.8em;
}
ul.recruit-li li .txt p{
  margin-top: 1.2rem;
}
ul.recruit-li li .txt .cat-wrap{
  margin-top: 1.2rem;
}
ul.recruit-li li a.arrow-btn{
  min-width: 16.8rem;
  margin: auto 0 0 auto;
}


ul.support-li{
  grid-template-columns: 100%;
  border-top: 1px solid #C3C3C3;
}
ul.support-li li{
  padding: 2rem 0;
}
ul.support-li li:nth-child(-n+2){
  border-top: none;
}
ul.support-li li .ttl{
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
ul.support-li li .ttl img.ico{
  width: 2.4rem;
  margin-right: 0.8rem;
}


.mynavi-cta{
  background: url(../images/recruit/mynavi-bg_sp.jpg) center center no-repeat;
  background-size: cover;
  padding: 3.4rem 1.6rem 2.4rem;
}
.mynavi-cta p{
  font-size: 1.6rem;
}
.mynavi-cta a.btn{
  width: 100%;
  margin: 2.4rem auto 0;
}


.recruit-guidelines .sec-1 h1{
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
}


p:has(+ .form-box){
  margin-bottom: 4.8rem;
}
.form-box{
  padding: 4rem 1.6rem;
}
.form-box h2,
.form-box h1{
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
}
dl.form-dl{
  grid-template-columns: 100%;
}
dl.form-dl dt{
  padding: 2rem 0 0.6em;
  border-bottom: none;
}
dl.form-dl dd{
  padding: 0 0 2rem;
}
dl.form-dl dd.col2{
  gap: 1rem;
}
dl.form-dl dd:not(.col2) input[type=text] + input[type=text],
dl.form-dl dd:not(.col2) .wpcf7-form-control-wrap + .wpcf7-form-control-wrap{
  margin-top: 1rem;
}
.form-box .agree-wrap{
  margin-top: 4rem;
}
dl.form-dl input[type=text],
dl.form-dl input[type=email],
dl.form-dl input[type=tel],
dl.form-dl textarea{
  padding: 0.7em 1.2rem;
  font-size: 1.6rem;
}
dl.form-dl textarea{
  height: 30rem;
}
.form-box .btn-wrap{
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
  margin-top: 4rem;
}
.form-box .submit-btn,
.form-box .back-btn{
  height: 4.8rem;
}
.form-box .submit-btn input[type=submit],
.form-box .back-btn input[type=button]{
  font-size: 1.4rem;
}
.form-box .submit-btn::after{
  width: 0.7rem;
  right: 1.5rem;
}
.form-box .submit-btn:hover::after{
  transform: translateX(0.4rem);
}


.codedropz-upload-inner h3{
  font-size: 1.6rem;
}


.radio,
.wpcf7-radio{
  gap: 1rem;
}
.radio:has( > label:nth-child(2)),
.wpcf7-radio:has( > .wpcf7-list-item:nth-child(2)){
  grid-template-columns: repeat(2, 1fr);
}
.radio.sp-col1:has( > label:nth-child(2)),
.radio.sp-col1 .wpcf7-radio:has( > .wpcf7-list-item:nth-child(2)){
  grid-template-columns: 100%;
}


.checkbox,
.wpcf7-checkbox{
  gap: 1.2rem;
}
.checkbox:has( > label:nth-child(2)),
.wpcf7-checkbox:has( > .wpcf7-list-item:nth-child(2)){
  grid-template-columns: 100%;
}


.select-wrap::before{
  height: 3.4em;
}




/*　data SP
------------------------------------------------------------------------------------------------*/

ul.data-li{
  grid-template-columns: 100%;
  gap: 3rem;
}
ul.data-li li{
  grid-row: unset;
}
ul.data-li li .ttl-wrap{
  flex-wrap: wrap;
  padding-bottom: 0.8rem;
  margin-bottom: 1.2rem;
}
ul.data-li li .ttl-wrap img.ico{
  margin: 0.2rem 0.8rem 0 0;
}
ul.data-li li .ttl-wrap h2{
  flex: unset;
  max-width: calc(100% - 2.8rem);
  font-size: 1.8rem;
}
ul.data-li li .ttl-wrap .date{
  font-size: 1.2rem;
}




/*　history SP
------------------------------------------------------------------------------------------------*/

dl.history-dl{
  grid-template-columns: 100%;
}
dl.history-dl dt{
  padding: 1.6rem 0 0.1em;
  border-bottom: none;
}
dl.history-dl dd{
  padding: 0 0 1.6rem;
}




/*　business SP
------------------------------------------------------------------------------------------------*/

.business .sec-2 img.img{
  width: 25.6rem;
  position: unset;
  transform: unset;
  margin: 2.8rem auto 0;
}
.business .sec-2 .ttl-1-wrap + p{
  width: 100%;
}
.business .sec-2 .btn-wrap{
  width: 100%;
  column-gap: 1.2rem;
  row-gap: 1.2rem;
  margin-top: 2rem;
}
.business .sec-2 .btn-wrap a{
  height: 4.4rem;
  padding: 0 1.1rem;
}
.business .sec-2 .btn-wrap a::before{
  width: 1.2rem;
  right: 1rem;
}


.business .sec-3 h4{
  font-size: 1.6rem;
  margin-bottom: 1.2rem;
}
ul.products-li + ul.official-li{
  margin-top: 2.8rem;
}
ul.official-li + ul.sns-bnr-li{
  margin-top: 1.2rem;
}


.business .sec-5 .img-wrap,
.business .sec-6 .img-wrap{
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
}
.business .sec-5 .img-wrap img.img1,
.business .sec-6 .img-wrap img.img1{
  grid-column: span 2;
  width: 100%;
  height: 18.6rem;
  object-fit: cover;
}




/*　products SP
------------------------------------------------------------------------------------------------*/

.products .sec-1 p.p-top{
  margin-bottom: 4.8rem;
}

ul.products-li-2 li{
  grid-template-columns: 100%;
  gap: 1.2rem;
}
ul.products-li-2 li .anchor{
  top: -2.4rem;
}
ul.products-li-2 li + li{
  margin-top: 4.8rem;
}
ul.products-li-2 li .ttl{
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}
ul.products-li-2 li a.shop-link{
  margin-top: 2rem;
}
ul.products-li-2 li a.shop-link::before{
  width: 2rem;
  height: 2rem;
}
ul.products-li-2 li .btn-wrap{
  grid-template-columns: 100%;
  gap: 1.2rem;
}




/*　sustainability SP
------------------------------------------------------------------------------------------------*/

.sustainability .sec-1 .content{
  grid-template-columns: 100%;
  gap: 4.8rem;
}
.sustainability .sec-1 img.img{
  width: 20rem;
  margin: 0 auto;
}
.sustainability .sec-1 p.catch{
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 3.6rem;
}


.sustainability h2.h2-1{
  font-size: 1.8rem;
  margin-bottom: 2.8rem;
}
.sustainability .sec-2 ul.promise-li{
  grid-template-columns: 100%;
  gap: 2.8rem;
}
.sustainability .sec-2 ul.promise-li li{
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
}
.sustainability .sec-2 ul.promise-li li img.img{
  width: 100%;
  margin: 0;
}
.sustainability .sec-2 ul.promise-li li p{
  display: block;
  min-height: unset;
  text-align: left;
}
.sustainability .sec-2 ul.promise-li + p{
  font-size: 1.6rem;
}


.sustainability .sec-3 .wrap{
  grid-template-columns: 100%;
  gap: 2.8rem;
}
.sustainability .sec-3 .wrap img.img{
  order: unset;
}
.sustainability .sec-3 img.llp-scheme{
  margin-top: 4rem;
}


.sustainability .sec-4 h2{
  font-size: 2rem;
  margin-bottom: 4rem;
}
.sustainability .sec-4 ul.group-li > li{
  display: block;
  padding: 1.6rem;
}
.sustainability .sec-4 ul.group-li > li + li{
  margin-top: 2rem;
}
.sustainability .sec-4 ul.group-li > li h3{
  font-size: 1.8rem;
  margin-bottom: 1.2rem;
}
.sustainability .sec-4 ul.group-li > li .wrap{
  grid-template-columns: 100%;
  gap: 2.8rem;
}
.sustainability .sec-4 ul.group-li > li .wrap .left{
  padding-top: 0;
}
.sustainability .sec-4 ul.group-li > li .wrap .left p{
  font-size: 1.2rem;
  margin-top: 0;
}
.sustainability .sec-4 ul.group-li > li .wrap .left p + p{
  margin-top: 0.3em;
}
.sustainability .sec-4 ul.group-li > li .wrap .right{
  padding: 1.4rem;
}
.sustainability .sec-4 ul.group-li > li .wrap .right h4{
  height: 3.2rem;
}
ul.brand-li-2{
  column-gap: 1.4rem;
  row-gap: 1.8rem;
}
ul.brand-li-2 li{
  width: calc(50% - 0.7rem);
}


.sustainability .sec-5 .ttl-1-wrap + p{
  margin-bottom: 4rem;
}
.sustainability .sec-5 ul.innovations-li li{
  display: block;
}
.sustainability .sec-5 ul.innovations-li li + li{
  padding-top: 4rem;
  margin-top: 4rem;
}
.sustainability .sec-5 ul.innovations-li li h3{
  font-size: 1.8rem;
  margin-bottom: 0.6em;
}
.sustainability .sec-5 ul.innovations-li li .img-wrap{
  gap: 1rem;
  margin-top: 2rem;
}


.sustainability .sec-6 .nepal-box .inner{
  padding: 4rem 2.4rem;
}
.sustainability .sec-6 .nepal-box .inner .h2-top{
  margin-bottom: 0.2em;
}
.sustainability .sec-6 .nepal-box .inner h2{
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}
.sustainability .sec-6 .nepal-box .inner a.arrow-btn{
  width: 22.8rem;
  position: relative;
  right: unset;
  bottom: unset;
  margin: 2.8rem auto 0;
}


.sustainability .sec-7 .report-box{
  grid-template-columns: 100%;
  gap: 2rem;
  padding: 2.4rem 1.6rem;
}
.sustainability .sec-7 .report-box .img img{
  width: 13.6rem;
}
.sustainability .sec-7 .report-box .txt h2 a{
  padding: 1.1rem;
  font-size: 1.6rem;
}
.sustainability .sec-7 .report-box .txt h2 a::before{
  width: 0.8rem;
}
.sustainability .sec-7 .report-box .txt h2 a:hover::before{
  transform: translateX(0.4rem);
  right: 1.4rem;
}
.sustainability .sec-7 .report-box .txt h2 + p{
  font-size: 1.2rem;
  margin-top: 0.6em;
}
.sustainability .sec-7 .report-box .txt ul li a:hover::before{
  transform: translateX(0.4rem);
}




/*　nepal SP
------------------------------------------------------------------------------------------------*/

.nepal .sec-1 h2{
  font-size: 2rem;
  margin-bottom: 2rem;
}
.nepal .sec-1 h2 + p{
  text-align: left;
  margin-bottom: 4rem;
}
.nepal .sec-1 .instagram-box{
  padding: 1.6rem 1.6rem 4rem;
}
#sb_instagram #sbi_images{
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem;
  margin-bottom: 2rem;
}
.nepal .sec-1 .instagram-box .img-wrap{
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}
.nepal .sec-1 .instagram-box .ttl{
  font-size: 2.4rem;
  margin-bottom: 1rem;
}
.nepal .sec-1 .instagram-box .ttl img.ico{
  width: 2.4rem;
  margin-right: 0.8rem;
}
.nepal .sec-1 .instagram-box a.arrow-btn{
  width: 22.8rem;
  position: relative;
  right: unset;
  bottom: unset;
  margin: 2.8rem auto 0;
}

ul.activities-li li{
  display: block;
}
ul.activities-li li + li{
  margin-top: 4.8rem;
}
ul.activities-li li .img{
  width: 100%;
  margin-bottom: 2.8rem;
}
ul.activities-li li .label{
  font-size: 1.6rem;
}
ul.activities-li li .ttl{
  font-size: 1.8rem;
  margin-bottom: 2.4rem;
}




/*　news SP
------------------------------------------------------------------------------------------------*/

ul.news-li-2 li a{
  grid-template-columns: 12.4rem 1fr;
  gap: 2.8rem;
  padding: 2rem 0;
  align-items: flex-start;
}
ul.news-li-2 li a .txt .date{
  margin-bottom: 0.4em;
}
ul.news-li-2 li a .txt .ttl{
  font-size: 1.4rem;
}
ul.news-li-2 li a .txt p{
  font-size: 1.2rem;

  -webkit-line-clamp: 3;
}


.post-sec .date{
  font-size: 1.4rem;
}
.post-sec h1{
  font-size: 2rem;
  margin-bottom: 2.8rem;
}
.post-sec .thumb{
  margin: 0 auto 2.8rem;
}
.post-txt img{
  margin: 2.8rem auto;
}
.post-txt + a.arrow-btn{
  margin-top: 5.6rem;
}




/*　blog SP
------------------------------------------------------------------------------------------------*/

ul.blog-li-2{
  grid-template-columns: 100%;
  row-gap: 2.8rem;
}
ul.blog-li-2 li a .date{
  margin: 0.9em 0 0.1em;
}




/*　privacy-policy SP
------------------------------------------------------------------------------------------------*/

.plain-sec h1{
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
}
.plain-sec h2{
  font-size: 1.4rem;
  margin: 2.4rem 0 0.8em;
}




/*　sponsor SP
------------------------------------------------------------------------------------------------*/

.sponsor .sec-1 p.p-top{
  margin-bottom: 5.6rem;
}
ul.sponsor-li-2 > li{
  padding-bottom: 5.6rem;
}
ul.sponsor-li-2 > li + li{
  margin-top: 5.6rem;
}
ul.sponsor-li-2 > li h3.h3-1{
  font-size: 1.8rem;
}
ul.sponsor-li-2 > li .wrap{
  grid-template-columns: 100%;
  gap: 4rem;
}
ul.sponsor-li-2 > li .wrap .txt img.logo-ghibli{
  width: 100%;
  margin-bottom: 3.2rem;
}
ul.sponsor-li-2 > li .wrap .img-wrap p{
  font-size: 1.2rem;
}
ul.sponsor-li-2 > li .wrap .img-wrap p span{
  font-size: 1.1rem;
}
ul.sponsor-li-2 > li .wrap .img-wrap p + img.img{
  margin-top: 4rem;
}
ul.sponsor-li-2 > li ul.ul-1{
  font-size: 1.4rem;
}




/*　press 共通
------------------------------------------------------------------------------------------------*/

ul.press-li{
  grid-template-columns: 100%;
  row-gap: 0;
  border-top: 1px solid #E1E1E1;
}
ul.press-li li{
  border-bottom: 1px solid #E1E1E1;
}
ul.press-li li a{
  display: grid;
  grid-template-columns: 12.4rem 1fr;
  gap: 2.8rem;
  align-items: center;
  padding: 2rem 0;
}
ul.press-li li a .ttl{
  font-size: 1.6rem;
  margin-top: 0;
}




}/*　スマホここまで */



