/* ----------------------------------------
   base
---------------------------------------- */
html,
body {
  color: #000;
  font-size: 16px;
  font-family: "M PLUS 1", sans-serif;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 750px) {
  html,
  body {
    font-size: 16px;
  }
}

body {
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  body {
    line-height: 1.5;
    min-width: 320px;
  }
}

/* ----------------------------------------
   loading
---------------------------------------- */
.l-loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-loading__img {
  width: 33px;
}
body.is-load .l-loading {
  display: none;
}

/* ----------------------------------------
   footer
---------------------------------------- */
.l-footer {
  position: relative;
  background-color: #000;
  padding: 0 4%;
}
.l-footer__container {
  padding-top: 40px;
  padding-bottom: 10px;
}
.l-footer__txt {
  color: #fff;
  font-size: 16px;
}
@media screen and (min-width: 751px) {
  .l-footer__txt {
    margin-top: 15px;
  }
}
@media screen and (max-width: 750px) {
  .l-footer__txt {
    margin-top: 20px;
    text-align: center;
  }
}
.l-footer__logo {
  width: 203px;
}
@media screen and (max-width: 750px) {
  .l-footer__logo {
    margin: 0 auto;
  }
}
.l-footer__logo img {
  width: 100%;
}
.l-footer__logo-link {
  display: block;
  transition: 0.3s;
}
.l-footer__logo-link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 750px) {
  .l-footer__list-wrap {
    display: flex;
    justify-content: center;
  }
}
.l-footer__list {
  display: flex;
  margin-left: 40px;
  margin-top: 80px;
  margin-bottom: 150px;
}
@media screen and (max-width: 750px) {
  .l-footer__list {
    display: block;
    margin-left: 0;
    margin-top: 30px;
  }
}
.l-footer__item {
  width: 298px;
}
.l-footer__item:nth-of-type(2) {
  margin-left: 40px;
}
@media screen and (max-width: 750px) {
  .l-footer__item:nth-of-type(2) {
    margin-left: 0;
    margin-top: 20px;
  }
}
.l-footer__link {
  background-color: #fff;
  height: 90px;
  text-align: center;
  display: block;
  transition: 0.3s;
}
.l-footer__link:hover {
  opacity: 0.7;
}
.l-footer__link-txt-l {
  font-size: 22px;
  font-weight: 900;
  color: #D82F00;
  padding-top: 15px;
  display: block;
}
.l-footer__link-txt {
  font-size: 13px;
  font-weight: 900;
  display: block;
}
.l-footer__copyright {
  text-align: center;
}
.l-footer__copyright-txt {
  font-size: 12px;
  color: #fff;
}

/* ----------------------------------------
   header
---------------------------------------- */
.l-header {
  height: 135px;
}
@media screen and (max-width: 860px) {
  .l-header {
    height: 113px;
  }
}
.l-header__container {
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .l-header__container {
    padding: 0 20px;
  }
}
.l-header__logo {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 860px) {
  .l-header__logo {
    display: block;
  }
}
.l-header__company-logo {
  width: 139px;
}
.l-header__company-logo-link {
  display: block;
  transition: 0.3s;
}
.l-header__company-logo-link:hover {
  opacity: 0.7;
}
.l-header__mahjong-logo {
  width: 333px;
  margin-left: 50px;
  margin-left: 40px;
}
@media screen and (max-width: 860px) {
  .l-header__mahjong-logo {
    width: 217px;
    margin-left: 0;
    margin-top: 10px;
  }
}
.l-header__mahjong-logo-link {
  display: block;
  transition: 0.3s;
}
.l-header__mahjong-logo-link:hover {
  opacity: 0.7;
}

/* ----------------------------------------
   wrapper
---------------------------------------- */
.l-wrapper {
  overflow: hidden;
}
.l-wrapper__bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.l-wrapper__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url("../img/common/img_fix-bg.png");
  background-size: cover;
  mix-blend-mode: overlay;
}
.l-wrapper__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/common/img_bg-gray.png");
  z-index: -1;
}

/* ----------------------------------------
   layout
---------------------------------------- */
@media screen and (min-width: 751px) {
  .l-left {
    width: 35%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 1280px) {
  .l-left {
    width: calc(50% - 187.5px);
  }
}
@media screen and (max-width: 900px) {
  .l-left {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .l-left {
    display: none;
  }
}
.l-left.js-fixed-block.is-fixed {
  position: absolute;
  top: auto;
  bottom: 0;
}

.l-center {
  position: relative;
  width: 100%;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  padding: 0 10px;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .l-center {
    width: 30%;
    min-width: 375px;
  }
}
@media screen and (max-width: 900px) {
  .l-center {
    margin-left: 0;
  }
}
.l-center__container {
  background-color: #EFEFEF;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}

@media screen and (min-width: 751px) {
  .l-right {
    width: 35%;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    overflow-y: auto;
  }
}
@media screen and (max-width: 1280px) {
  .l-right {
    width: calc(50% - 187.5px);
  }
}
@media screen and (max-width: 900px) {
  .l-right {
    width: calc(100% - 375px);
  }
}
@media screen and (max-width: 750px) {
  .l-right {
    display: none;
  }
}
.l-right img {
  width: 100%;
}
.l-right.js-fixed-block.is-fixed {
  position: absolute;
  top: auto;
  bottom: 0;
}

/* ----------------------------------------
   container
---------------------------------------- */
.l-container {
  padding: 0 15px;
  max-width: 500px;
  margin: 0 auto;
}

/* ----------------------------------------
   main
---------------------------------------- */
.l-main {
  position: relative;
}

/* ----------------------------------------
   section
---------------------------------------- */
.c-section-event {
  padding-bottom: 77px;
}

.c-section-point {
  padding-bottom: 150px;
}

.c-section-member {
  padding-bottom: 220px;
}

.c-section-company {
  padding-bottom: 150px;
}

.c-section-voice {
  padding-bottom: 110px;
}

.c-section-scene {
  padding-bottom: 100px;
}

.c-section-faq {
  padding-bottom: 115px;
}

.c-section-next {
  padding-bottom: 105px;
}

/* ----------------------------------------
   pc-nav
---------------------------------------- */
.p-pc-nav {
  background-color: #278733;
  overflow-y: auto;
}
.p-pc-nav__container {
  padding: min(2.734375vw, 35px) min(1.171875vw, 15px) min(2.734375vw, 35px);
}
.p-pc-nav__contents {
  background-color: #EFEFEF;
  border-radius: min(6.796875vw, 87px);
  border: 2px solid #000;
  padding: min(2.34375vw, 30px) min(0.78125vw, 10px) min(3.125vw, 40px);
}
.p-pc-nav__txt {
  font-size: min(3.359375vw, 43px);
  font-weight: 900;
  text-align: center;
  margin-bottom: min(2.34375vw, 30px);
}
.p-pc-nav__list-wrap {
  display: flex;
  justify-content: center;
}
.p-pc-nav__list {
  padding-right: min(1.5625vw, 20px);
}
.p-pc-nav__item {
  margin-bottom: min(1.015625vw, 13px);
}
.p-pc-nav__link {
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.p-pc-nav__link:hover {
  opacity: 0.7;
}
.p-pc-nav__link-icon {
  width: min(2.03125vw, 26px);
  display: block;
  flex-shrink: 0;
}
.p-pc-nav__link-txt {
  font-size: min(1.484375vw, 19px);
  font-weight: 800;
  margin-left: min(2.34375vw, 30px);
}
.p-pc-nav__btn {
  display: flex;
  justify-content: center;
  margin-top: min(0.78125vw, 10px);
}
.p-pc-nav__sns {
  margin-top: min(0.78125vw, 10px);
}

/* ----------------------------------------
   sp-nav
---------------------------------------- */
.p-sp-nav {
  position: fixed;
  top: 0;
  width: 375px;
  max-height: 100vh;
  z-index: 100;
  background: #278733;
  padding: 40px 20px;
  display: none;
  overflow-y: auto;
}
.p-sp-nav.is-open {
  display: block;
}
@media screen and (max-width: 750px) {
  .p-sp-nav {
    width: 100%;
  }
}
.l-wrapper#top .p-sp-nav {
  left: 0;
}

.l-wrapper#mahjong-form .p-sp-nav {
  right: 0;
}

.l-wrapper#mahjong-archive .p-sp-nav {
  right: 0;
}

.p-sp-nav__inner {
  background-color: #EFEFEF;
  border: 2px solid #000;
  padding: 40px 10px;
}
.p-sp-nav__txt {
  font-size: 43px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 30px;
}
.p-sp-nav__list-wrap {
  display: flex;
  justify-content: center;
}
.p-sp-nav__list {
  padding-right: 30px;
}
.p-sp-nav__item:nth-of-type(n + 2) {
  margin-top: 10px;
}
.p-sp-nav__link {
  position: relative;
  font-size: 16px;
  font-weight: 800;
  padding-left: 40px;
  transition: 0.3s;
}
.p-sp-nav__link:hover {
  opacity: 0.7;
}
.p-sp-nav__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 23px;
  height: 23px;
  background-color: #278733;
  border-radius: 100%;
}
.p-sp-nav__link--open::before {
  background-color: #D82F00;
}
.p-sp-nav__link--open::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -60px;
  transform: translateY(-50%);
  background-image: url("../img/icon_link-open.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 19px;
  height: 19px;
}
.p-sp-nav__sns {
  margin-top: 20px;
}

/* ----------------------------------------
   animation
---------------------------------------- */
/* ----------------------------------------
   btn
---------------------------------------- */
.c-btn-1 {
  width: 267px;
  height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  font-weight: 900;
  border: 1px solid #000000;
  color: #fff;
  border-radius: 47px;
  box-shadow: 7px 7px #000;
}
.c-btn-1--red {
  background-color: #E63200;
}
.c-btn-1--red:hover {
  box-shadow: none;
  transform: translate(7px, 7px);
}
.c-btn-1--gray {
  background-color: #686868;
}

.c-btn-1-s {
  width: min(20.859375vw, 267px);
  height: min(6.640625vw, 85px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.796875vw, 23px);
  font-weight: 900;
  border: 1px solid #000000;
  color: #fff;
  border-radius: 47px;
  border-radius: min(3.671875vw, 47px);
  box-shadow: 7px 7px #000;
}
.c-btn-1-s--red {
  background-color: #E63200;
}
.c-btn-1-s--red:hover {
  box-shadow: none;
  transform: translate(7px, 7px);
}
.c-btn-1-s--gray {
  background-color: #686868;
}

.c-btn-1-copy {
  font-size: 16px;
  text-align: center;
  margin-bottom: 5px;
  display: block;
}

.c-btn-hmb {
  z-index: 200;
  width: 44px;
  height: 44px;
  border: 2px solid #000;
  background-color: #fff;
  box-shadow: 2px 2px #000;
  cursor: pointer;
}
.l-wrapper#top .c-btn-hmb {
  position: absolute;
  top: 15px;
  right: 25px;
}
@media screen and (min-width: 901px) {
  .l-wrapper#top .c-btn-hmb {
    display: none;
  }
}

body.is-hamburger-open .l-wrapper#top .c-btn-hmb {
  position: fixed;
  top: 15px;
  left: 315px;
}
@media screen and (max-width: 750px) {
  body.is-hamburger-open .l-wrapper#top .c-btn-hmb {
    left: auto;
    right: 15px;
  }
}

.l-wrapper#mahjong-form .c-btn-hmb {
  position: relative;
}

body.is-hamburger-open .l-wrapper#mahjong-form .c-btn-hmb {
  position: fixed;
  top: 15px;
  right: 15px;
}

.l-wrapper#mahjong-archive .c-btn-hmb {
  position: relative;
}

body.is-hamburger-open .l-wrapper#mahjong-archive .c-btn-hmb {
  position: fixed;
  top: 15px;
  right: 15px;
}

.c-btn-hmb:hover {
  box-shadow: none;
  transform: translate(2px, 2px);
}
.c-btn-hmb__line {
  width: 25px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
  transition: transform 0.3s;
}
.c-btn-hmb__line--1 {
  margin-top: -9px;
}
body.is-hamburger-open .c-btn-hmb__line--1 {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

body.is-hamburger-open .c-btn-hmb__line--2 {
  opacity: 0;
}

.c-btn-hmb__line--3 {
  margin-top: 9px;
}
body.is-hamburger-open .c-btn-hmb__line--3 {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-fix-btn {
  position: fixed;
  top: 100px;
  right: 0;
  width: 47px;
  z-index: 99;
}
@media screen and (min-width: 751px) {
  .c-fix-btn {
    display: none;
  }
}
.c-fix-btn__link {
  display: block;
  transition: 0.3s;
}
.c-fix-btn__link:hover {
  opacity: 0.7;
}

/* ----------------------------------------
   head
---------------------------------------- */
.c-head-hai {
  position: relative;
  padding-top: 40px;
  padding-bottom: 20px;
}
.c-head-hai__icon {
  width: 33px;
  margin: 0 auto 20px;
}
.c-head-hai::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 235px;
  height: 5px;
  border-top: 2px solid #278733;
  border-bottom: 2px solid #278733;
}
.c-head-hai--none::before {
  content: none;
}

/* ----------------------------------------
   link
---------------------------------------- */
/* ----------------------------------------
   ttl
---------------------------------------- */
.c-ttl-2 {
  font-weight: 900;
  text-align: center;
}
.c-ttl-2--1 {
  font-size: 20px;
}
.c-ttl-2--2 {
  font-size: 23px;
}
.c-ttl-2--3 {
  font-size: 25px;
}
.c-ttl-2--4 {
  font-size: 27px;
}

/* ----------------------------------------
   txt
---------------------------------------- */
/* ----------------------------------------
   list
---------------------------------------- */
/* ----------------------------------------
   modal
---------------------------------------- */
.c-modal {
  display: none;
}
.c-modal.is-open {
  display: block;
}
.c-modal__overlay {
  align-items: center;
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}
.c-modal__container {
  position: relative;
  background-color: #fff;
  max-height: 90vh;
  max-width: 355px;
  min-width: 335px;
  overflow-y: auto;
  padding: 15px;
  width: 80%;
  opacity: 0;
  transform: translateY(50px);
  transition: 0.3s;
}
.c-modal__close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  cursor: pointer;
  padding: 0;
  border: none;
  background: none;
  width: 46px;
  height: 46px;
  border-radius: 100%;
  box-shadow: 3px 3px #000;
}
.c-modal__close:hover {
  box-shadow: none;
  transform: translate(3px, 3px);
}

/* ----------------------------------------
   sns
---------------------------------------- */
.c-sns {
  max-width: 335px;
  width: 100%;
  margin: 0 auto;
}
.c-sns:nth-of-type(n + 2) {
  margin-top: 30px;
}
.c-sns__link {
  background-color: #fff;
  border-radius: 22px;
  border: 1px solid #000;
  box-shadow: 5px 5px #000;
  padding: 15px;
  display: flex;
  align-items: center;
}
.c-sns__link:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.c-sns__icon {
  width: 64px;
  margin-right: 25px;
}
.c-sns__txt-area {
  padding-left: 15px;
}
.c-sns__txt {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}
.c-sns__txt-b {
  font-size: 19px;
  font-weight: 900;
}

.c-sns-s {
  max-width: 335px;
  width: 100%;
  margin: 0 auto;
}
.c-sns-s__link {
  background-color: #fff;
  border-radius: min(1.71875vw, 22px);
  border: 1px solid #000;
  box-shadow: 5px 5px #000;
  padding: min(1.171875vw, 15px);
  display: flex;
  align-items: center;
}
.c-sns-s__link:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.c-sns-s__icon {
  width: min(5vw, 64px);
  margin-right: min(1.953125vw, 25px);
}
.c-sns-s__txt {
  font-size: min(1.25vw, 16px);
  font-weight: 400;
  text-align: center;
}
.c-sns-s__txt-b {
  font-size: min(1.484375vw, 19px);
  font-weight: 900;
}

.c-sns-ss {
  max-width: 265px;
  width: 100%;
  margin: 0 auto;
}
.c-sns-ss__link {
  background-color: #fff;
  border-radius: 22px;
  border: 1px solid #000;
  box-shadow: 5px 5px #000;
  padding: 15px;
  display: flex;
  align-items: center;
}
.c-sns-ss__link:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.c-sns-ss__icon {
  width: 46px;
  margin-right: 15px;
}
.c-sns-ss__txt {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}
.c-sns-ss__txt-b {
  font-size: 16px;
  font-weight: 900;
}

/* ----------------------------------------
   form
---------------------------------------- */
.c-form__item {
  margin-bottom: 25px;
}
.c-form__head {
  margin-bottom: 8px;
}
.c-form__label {
  font-size: 16px;
  font-weight: 800;
}
.c-form__required {
  font-size: 12px;
  font-weight: 500;
  color: #D82F00;
  margin-left: 20px;
}
.c-form__note {
  font-size: 13px;
  font-weight: 400;
  margin-top: 5px;
}
.c-form__input {
  border: 1px solid #707070;
  width: 100%;
  height: 37px;
  padding: 0 0.5em;
  font-size: 16px;
}
.c-form__input--s {
  width: 96px;
}
.c-form__input-wrap {
  display: flex;
  align-items: flex-end;
}
.c-form__input-txt {
  font-size: 13px;
  font-weight: 400;
  padding-left: 10px;
  padding-bottom: 5px;
}
.c-form__radio {
  margin-top: 20px;
  margin-bottom: 60px;
}
.c-form__radio .horizontal-item {
  display: block;
  margin-left: 0 !important;
  margin-bottom: 10px;
}
.c-form__radio label {
  display: flex;
}
.c-form__radio input {
  border: 2px solid #B9B9B9;
  border-radius: 100%;
  width: 22px;
  height: 22px;
  cursor: pointer;
  margin: 0;
  margin-top: 1px;
  flex-shrink: 0;
}
.c-form__radio .mwform-radio-field-text {
  padding-left: 20px;
}
.c-form__checkbox {
  margin-top: 20px;
  margin-bottom: 60px;
}
.c-form__checkbox .horizontal-item {
  display: block;
  margin-left: 0 !important;
  margin-bottom: 10px;
}
.c-form__checkbox label {
  display: flex;
}
.c-form__checkbox input {
  border: 2px solid #B9B9B9;
  width: 20px;
  height: 20px;
  margin: 0;
  margin-top: 2px;
  cursor: pointer;
  flex-shrink: 0;
}
.c-form__checkbox .mwform-checkbox-field-text {
  padding-left: 20px;
}
.c-form__privacy {
  height: 139px;
  border: 1px solid #CBCBCB;
  border-radius: 2px;
  overflow-y: scroll;
  margin-top: 30px;
  margin-bottom: 10px;
}
.c-form__privacy-inner {
  padding: 15px;
}
.c-form__privacy-txt {
  font-size: 14px;
}
.c-form__privacy-txt:nth-of-type(n + 2) {
  margin-top: 1em;
}
.c-form__privacy-btm-txt {
  font-size: 16px;
  font-weight: 500;
}
.c-form__btn button {
  color: #fff;
  background-color: #D82F00;
  border-radius: 5px;
  width: 170px;
  height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-size: 20px;
  transition: 0.3s;
}
.c-form__btn input {
  color: #fff;
  background-color: #D82F00;
  border-radius: 5px;
  width: 170px;
  height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-size: 20px;
  transition: 0.3s;
}
.c-form__btn button.back {
  background-color: #808080;
}
.c-form__btn button:hover {
  opacity: 0.7;
}
.c-form__btn button:nth-of-type(n + 2) {
  margin-top: 15px;
}
.c-form__btn input:nth-of-type(n + 2) {
  margin-top: 15px;
}
.wpcf7-list-item {
  margin: 0;
  display: block;
}
.wpcf7-list-item:nth-of-type(n + 2) {
  margin-top: 0.5em;
}
.wpcf7-list-item span {
  padding-left: 1em;
}
.wpcf7-spinner {
  margin: 15px 73px 0;
}
.c-form__btn .wpcf7-previous {
  background-color: #808080;
}

/* ----------------------------------------
   kv
---------------------------------------- */
.p-kv {
  padding-top: 40px;
}
.p-kv__logo {
  position: absolute;
  top: 15px;
  left: 25px;
  width: 85px;
  line-height: 1;
}
.p-kv__logo-link {
  display: block;
  transition: 0.3s;
}
.p-kv__logo-link:hover {
  opacity: 0.7;
}
.p-kv__ttl {
  width: 100%;
  max-width: 333px;
  margin: 20px auto;
}
.p-kv__txt {
  font-weight: 700;
  text-align: center;
}
.p-kv__img {
  margin-top: 10px;
}
.p-kv__img img {
  width: 100%;
}

/* ----------------------------------------
   event
---------------------------------------- */
.p-event {
  background-color: #fff;
  border-radius: 31px;
  padding-top: 50px;
  padding-bottom: 40px;
  display: flex;
  justify-content: center;
}
.p-event__txt {
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 5px;
  padding-left: 20px;
}
.p-event__detail {
  display: grid;
  grid-template-columns: 60px 1fr;
  padding-left: 20px;
}
.p-event__detail-label {
  font-size: 16px;
  font-weight: 900;
  color: #278733;
  padding: 5px 0;
}
.p-event__detail-txt {
  font-size: 16px;
  font-weight: 400;
  padding: 5px 0;
}
.p-event__btn {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

/* ----------------------------------------
   point
---------------------------------------- */
.p-point__txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}
.p-point__txt-s {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  margin-top: 5px;
}
.p-point__cont {
  background-color: #fff;
  border-radius: 31px;
  padding: 15px 20px 40px;
  margin-top: 20px;
}
.p-point__cont-txt-l {
  font-size: 20px;
  font-weight: 900;
  color: #278733;
  text-align: center;
  margin-bottom: 5px;
}
.p-point__cont-txt {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  padding-left: 20px;
}
.p-point__cont-txt:nth-of-type(n + 2) {
  margin-top: 5px;
}
.p-point__cont-txt::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #278733;
  display: inline-block;
  border-radius: 100px;
}

/* ----------------------------------------
   member
---------------------------------------- */
.p-member__container {
  background-color: #FED500;
  min-height: 481px;
}
.p-member__txt {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}
.p-member__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
.p-member__item {
  position: relative;
  border: none;
  background: none;
  padding: 0;
  width: 47%;
  cursor: pointer;
}
.p-member__item:nth-of-type(n + 3) {
  margin-top: 7px;
}
.p-member__img2 {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  opacity: 0;
}
.p-member__img2:hover {
  opacity: 1;
}
.p-member__header {
  margin-top: 60px;
  position: relative;
  z-index: 3;
}
.p-member__copy {
  font-size: 28px;
  font-weight: 900;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}
.p-member__copy--1 {
  margin-right: 10px;
}
.p-member__copy--4 {
  position: relative;
  top: -20px;
  right: -10px;
}
.p-member__title {
  margin-top: 45px;
  margin-left: auto;
  margin-right: 0;
}
.p-member__title--1 {
  width: 184px;
}
.p-member__title--2 {
  width: 155px;
  margin-right: 35px;
}
.p-member__title--3 {
  width: 246px;
}
.p-member__title--4 {
  width: 213px;
}
.p-member__pic {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  transform: translateX(-110%);
  transition: 0.3s;
  transition-delay: 0.3s;
}
.c-modal.is-show .p-member__pic {
  transform: translateX(0);
}

.p-member__pic--1 {
  width: 255px;
}
.p-member__pic--2 {
  width: 281px;
  left: -8px;
}
.p-member__pic--3 {
  width: 260px;
  left: 14px;
}
.p-member__pic--4 {
  width: 202px;
  left: 10px;
}
.p-member__pic-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.p-member__pic-shadow--1 {
  width: 332px;
}
.p-member__pic-shadow--2 {
  width: 290px;
}
.p-member__pic-shadow--3 {
  width: 294px;
  left: 7px;
}
.p-member__pic-shadow--4 {
  width: 201px;
  left: 24px;
}
.p-member__block {
  position: relative;
  z-index: 3;
  background-color: #fff;
  border: 1px solid #000;
  padding: 15px 10px;
  margin-top: 15px;
  min-height: 224px;
}
.p-member__block-txt-l {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 10px;
}
.p-member__block-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
.p-member__sns {
  margin-top: 50px;
}

/* ----------------------------------------
   company
---------------------------------------- */
.p-company__txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
}
.p-company__txt-s {
  font-size: 13px;
  font-weight: 400;
  margin-top: 10px;
  text-align: center;
}
.p-company__cont {
  margin-top: 50px;
}
.p-company__btn {
  max-width: 334px;
  width: 100%;
  margin: 0 auto;
}
.p-company__btn:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-company__btn-copy {
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  display: block;
  margin-bottom: 6px;
}
.p-company__btn-link {
  position: relative;
  font-size: 21px;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FED500;
  border-radius: 47px;
  height: 80px;
  border: 1px solid #000;
  box-shadow: 5px 5px #000;
}
.p-company__btn-link:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.p-company__btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 35px;
  background-image: url("../img/icon_link-open.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 19px;
  height: 19px;
}

/* ----------------------------------------
   voice
---------------------------------------- */
.p-voice__list {
  margin-top: 10px;
}
.p-voice__item {
  position: relative;
  background-color: #278733;
  border-radius: 47px;
  border: 1px solid #000;
  padding: 5px;
  display: flex;
  align-items: center;
  max-width: 330px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  box-shadow: 5px 5px #000;
  cursor: pointer;
}
.p-voice__item:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.p-voice__item:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-voice__icon {
  position: absolute;
  top: -15px;
  left: 0;
}
.p-voice__img {
  width: 81px;
}
.p-voice__txt-ss {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
}
.p-voice__txt-area {
  margin-left: 30px;
}
.p-voice__txt {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
}
.p-voice__txt-s {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  margin-left: 1em;
}
.p-voice__m-container {
  background-color: #278733;
}
.p-voice__m-header {
  display: flex;
  justify-content: space-between;
}
.p-voice__m-img {
  width: 24.5%;
}
.p-voice__m-txt-area {
  width: 75%;
}
.p-voice__m-pos {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  padding-left: 15px;
  margin-top: 5px;
  font-family: "Noto Sans JP", sans-serif;
}
.p-voice__m-name {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  padding-left: 15px;
  margin-top: 3px;
  font-family: "Noto Sans JP", sans-serif;
}
.p-voice__m-name-s {
  font-size: 17px;
  margin-left: 1em;
}
.p-voice__m-txt {
  width: 100%;
  margin-top: 8px;
}
.p-voice__m-pic {
  max-width: 327px;
  width: 100%;
  margin-top: 10px;
}

/* ----------------------------------------
   scene
---------------------------------------- */
.p-scene__ttl {
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 12px;
}
.p-scene__txt {
  font-size: 14px;
  font-weight: 400;
}
.p-scene__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 318px;
  margin: 30px auto 0;
}
.p-scene__item {
  width: 146px;
  border: 1px solid #000;
}
.p-scene__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-scene__item:nth-of-type(n + 3) {
  margin-top: 15px;
}
.p-scene__btn {
  max-width: 327px;
  width: 100%;
  margin: 30px auto 0;
}
.p-scene__btn-link {
  position: relative;
  background-color: #278733;
  border: 1px solid #000;
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 5px #000;
  border-radius: 44px;
}
.p-scene__btn-link:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.p-scene__btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 35px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../img/icon_link-arrow.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.p-scene__graph {
  margin-top: 50px;
}
.p-scene__graph-ttl {
  font-size: 27px;
  font-weight: 900;
  margin-bottom: 10px;
  text-align: center;
}
.p-scene__graph-txt {
  font-size: 14px;
  font-weight: 400;
}
.p-scene__graph-txt-s {
  font-size: 13px;
  font-weight: 400;
  margin-top: 5px;
}
.p-scene__graph-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 375px;
  margin: 20px auto 0;
}
.p-scene__graph-item {
  display: flex;
  justify-content: center;
}
.p-scene__graph-item--1 {
  width: 100%;
}
.p-scene__graph-item--1 img {
  max-width: 49%;
}
.p-scene__graph-item--2 {
  width: 50%;
}
.p-scene__graph-item--2 img {
  max-width: 98%;
}
.p-scene__graph-item:nth-of-type(2) {
  justify-content: flex-start;
}
.p-scene__graph-item:nth-of-type(3) {
  justify-content: flex-end;
}
.p-scene__graph-item img {
  width: 164px;
}

/* ----------------------------------------
   faq
---------------------------------------- */
.p-faq__item {
  position: relative;
  background-color: #278733;
  border-radius: 44px;
  width: 330px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 5px #000;
  border: 1px solid #000;
  cursor: pointer;
  margin: 0 auto;
}
.p-faq__item:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.p-faq__item:nth-of-type(n + 2) {
  margin-top: 30px;
}
.p-faq__icon {
  position: absolute;
  top: -15px;
  left: 0;
}
.p-faq__txt {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  font-family: "M PLUS 1", sans-serif;
}
.p-faq__m-container {
  min-height: 409px;
  background-size: 100% auto;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.p-faq__m-img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 335px;
}
.p-faq__m-img--4 {
  top: 0;
  bottom: auto;
}
.p-faq__m-img--8 {
  top: 0;
  bottom: auto;
}
.p-faq__m-content {
  padding: 30px 0;
}
.p-faq__m-head {
  position: relative;
  padding-top: 20px;
  padding-left: 30px;
}
.p-faq__m-head:nth-of-type(n + 2) {
  margin-top: 40px;
}
.p-faq__m-icon {
  position: absolute;
  top: 0;
  left: 0;
}
.p-faq__m-txt-l {
  font-size: 20px;
  font-weight: 900;
  font-family: "Noto Sans JP", sans-serif;
}
.p-faq__m-txt-l--green {
  color: #278733;
}
.p-faq__m-txt-l--red {
  color: #D82F00;
}
.p-faq__m-txt-area {
  padding: 15px;
}
.p-faq__m-txt {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}

/* ----------------------------------------
   next
---------------------------------------- */
.p-next__cont {
  background-color: #fff;
  border-radius: 31px;
  padding: 15px 20px 30px;
  margin-top: 20px;
  margin-bottom: 45px;
}
.p-next__cont-txt-l {
  font-size: 20px;
  font-weight: 900;
  color: #278733;
  text-align: center;
  margin-bottom: 10px;
}
.p-next__cont-txt {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  padding-left: 20px;
}
.p-next__cont-txt:nth-of-type(n + 2) {
  margin-top: 5px;
}
.p-next__cont-txt::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #278733;
  display: inline-block;
  border-radius: 100px;
}
.p-next__txt {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 25px;
}
.p-next__btn {
  text-align: center;
  margin-top: 40px;
}
.p-next__btn .c-btn-1 {
  margin: 0 auto;
}

/* ----------------------------------------
   form
---------------------------------------- */
.p-form {
  background-color: #EFEFF0;
  padding-top: 250px;
  padding-bottom: 250px;
}
@media screen and (max-width: 860px) {
  .p-form {
    padding-top: 60px;
    padding-bottom: 0;
  }
}
.p-form__container {
  position: relative;
  max-width: 1010px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 860px) {
  .p-form__container {
    display: block;
    padding: 0;
  }
}
.p-form__cont {
  background-color: #fff;
  border-radius: 31px;
  width: 100%;
  max-width: 375px;
  padding: 40px 0;
}
@media screen and (max-width: 860px) {
  .p-form__cont {
    margin: 0 auto;
    background-color: inherit;
  }
}
@media screen and (max-width: 750px) {
  .p-form__cont {
    padding-bottom: 60px;
  }
}
.p-form__head {
  position: absolute;
  bottom: 100%;
  width: 375px;
  margin-bottom: 30px;
}
@media screen and (max-width: 860px) {
  .p-form__head {
    position: relative;
    width: 100%;
  }
}
.p-form__ttl {
  font-size: 33px;
  font-weight: 900;
  text-align: center;
}
.p-form__block {
  position: relative;
  padding: 60px 40px;
}
@media screen and (max-width: 750px) {
  .p-form__block {
    padding-bottom: 0;
  }
}
.p-form__block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 234px;
  height: 5px;
  border-top: 1px solid #278733;
  border-bottom: 1px solid #278733;
}
@media screen and (max-width: 750px) {
  .p-form__block--pc {
    display: none;
  }
}
.p-form__block--none {
  padding-top: 0;
}
.p-form__block--none::before {
  content: none;
}
.p-form__block-head {
  display: flex;
  align-items: center;
  padding-left: 15px;
  margin-bottom: 20px;
}
.p-form__block-head-icon {
  width: 33px;
  margin-right: 15px;
}
.p-form__block-head-txt {
  font-size: 20px;
  font-weight: 900;
  color: #278733;
}
.p-form__top-txt {
  font-size: 16px;
  font-weight: bold;
  padding-top: 5px;
}
.p-form__detail {
  display: grid;
  grid-template-columns: 60px 1fr;
}
.p-form__detail-label {
  font-size: 16px;
  font-weight: 700;
  color: #278733;
  padding: 5px 0;
}
.p-form__detail-txt {
  padding: 5px 0;
}
.p-form__txt {
  font-size: 16px;
  font-weight: 400;
}
.p-form__txt:nth-of-type(n + 2) {
  margin-top: 5px;
}
.p-form__txt-note {
  font-size: 14px;
  font-weight: 400;
  margin-top: 20px;
}
.p-form__btn-area-txt {
  font-size: 16px;
  font-weight: 400;
}
.p-form__btn {
  width: 262px;
  margin: 20px auto 30px;
}
.p-form__btn-link {
  font-size: 19px;
  font-weight: 900;
  color: #fff;
  background-color: #E63200;
  border-radius: 47px;
  height: 48px;
  box-shadow: 4px 4px #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
}
.p-form__btn-link:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
}
.p-form__btn-area-note {
  font-size: 14px;
  font-weight: 400;
}
.p-form__note-area {
  margin-top: 40px;
}
.p-form__note-txt {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  padding-left: 30px;
}
.p-form__note-txt:nth-of-type(n + 2) {
  margin-top: 20px;
}
.p-form__note-txt::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #278733;
  border-radius: 100%;
}
.p-form__apply {
  background-color: #fff;
  max-width: 375px;
  width: 100%;
  border-radius: 37px;
  padding: 40px 30px 150px;
}
@media screen and (max-width: 860px) {
  .p-form__apply {
    border-radius: 0;
    max-width: 100%;
  }
}
@media screen and (max-width: 860px) {
  .p-form__apply-inner {
    max-width: 317px;
    margin: 0 auto;
  }
}
.p-form__apply-txt {
  color: #278733;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 50px;
}
.p-form__item {
  position: relative;
  background-color: #278733;
  border-radius: 44px;
  width: 330px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 5px #000;
  border: 1px solid #000;
  cursor: pointer;
  margin: 40px auto 0;
}
.p-form__item:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
}
@media screen and (min-width: 751px) {
  .p-form__item {
    display: none;
  }
}
.p-form__icon {
  position: absolute;
  top: -15px;
  left: 0;
}
.p-form__item-txt {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  font-family: "M PLUS 1", sans-serif;
}
.p-form__m-content {
  position: relative;
  padding: 70px 8%;
}
.p-form__m-content--3 {
  padding: 70px 4%;
}
.p-form__m-content::before, .p-form__m-content::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 170px;
  height: 5px;
  border-top: 2px solid #278733;
  border-bottom: 2px solid #278733;
}
.p-form__m-content::before {
  top: 30px;
}
.p-form__m-content::after {
  bottom: 30px;
}
.p-form-confirm .p-form__head {
  width: 100%;
  max-width: 740px;
}
.p-form-confirm .p-form__container {
  max-width: 800px;
}
.p-form-confirm .p-form__apply {
  max-width: 100%;
}
.p-form__confirm-txt {
  margin-top: 30px;
  text-align: center;
}

/* ----------------------------------------
   thanks
---------------------------------------- */
.p-thanks {
  background-color: #EFEFF0;
  padding-top: 80px;
  padding-bottom: 190px;
}
.p-thanks__container {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 50px;
}
@media screen and (max-width: 750px) {
  .p-thanks__container {
    padding: 0 20px;
  }
}
.p-thanks__ttl {
  font-size: 33px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .p-thanks__ttl {
    font-size: 28px;
  }
}
.p-thanks__txt {
  font-size: 16px;
  font-weight: 400;
}
.p-thanks__txt--mgt {
  margin-top: 40px;
}
.p-thanks__sns-btn {
  margin: 30px 0 50px;
}
.p-thanks__sns-btn .c-sns-ss {
  margin-left: 0;
}
.p-thanks__block-txt-l {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 5px;
}
.p-thanks__block-txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}
.p-thanks__cont {
  margin-top: 80px;
}
.p-thanks__cont-txt {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}
.p-thanks__cont-list {
  margin-bottom: 40px;
}
.p-thanks__cont-item:nth-of-type(n + 2) {
  margin-top: 20px;
}
.p-thanks__cont-head {
  background-color: #278733;
  position: relative;
  padding: 6px 10px 6px 40px;
  cursor: pointer;
  display: block;
  width: 100%;
  text-align: left;
  border: none;
}
.p-thanks__cont-head-icon {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #fff;
  border-bottom: 0;
  transition: transform 0.3s;
  position: absolute;
  top: 8px;
  left: 10px;
}
.js-acc-trigger.is-open .p-thanks__cont-head-icon {
  transform: rotate(180deg);
}

.p-thanks__cont-head-txt {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  font-family: "M PLUS 1", sans-serif;
}
.p-thanks__cont-body-inner {
  padding: 5px 10px;
}
.p-thanks__cont-body-txt {
  font-size: 16px;
  font-weight: 400x;
}
.p-thanks__cont-btm-txt {
  font-size: 16px;
  font-weight: 700;
}

/* ----------------------------------------
   archive
---------------------------------------- */
.p-archive {
  background-color: #278733;
  padding: 0 10px;
}
.p-archive__contents {
  background-color: #EFEFF0;
  max-width: 780px;
  margin: 0 auto;
  padding: 60px 0 200px;
}
@media screen and (max-width: 750px) {
  .p-archive__contents {
    padding-top: 30px;
  }
}
.p-archive__container {
  padding: 0 10px;
}
.p-archive__inner {
  max-width: 660px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-archive__inner {
    max-width: 600px;
  }
}
.p-archive__btn {
  margin-bottom: 35px;
}
.p-archive__btn-link {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  background-color: #278733;
  border: 1px solid #000;
  box-shadow: 4px 4px #000;
  width: 144px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 44px;
}
.p-archive__btn-link:hover {
  box-shadow: none;
  transform: translate(4px, 4px);
}
.p-archive__head {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .p-archive__head {
    display: block;
  }
}
.p-archive__head-cont {
  display: flex;
  align-items: center;
}
.p-archive__head-icon {
  width: 33px;
}
.p-archive__head-ttl {
  font-size: 30px;
  font-weight: 900;
  margin-left: 20px;
}
.p-archive__head-txt {
  font-size: 14px;
  font-weight: 400;
  margin-left: 30px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 750px) {
  .p-archive__head-txt {
    margin-left: 53px;
  }
}
.p-archive__item-ttl {
  font-size: 25px;
  font-weight: 900;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.2;
  margin-bottom: 10px;
}
.p-archive__item {
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
}
.p-archive__item:first-of-type {
  padding-top: 0;
}
.p-archive__item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 234px;
  height: 5px;
  border-top: 2px solid #278733;
  border-bottom: 2px solid #278733;
}
.p-archive__item-txt {
  font-size: 14px;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
}
.p-archive__photo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 25px;
}
@media screen and (max-width: 750px) {
  .p-archive__photo {
    flex-wrap: wrap;
    max-width: 316px;
    margin: 20px auto 0;
  }
}
.p-archive__photo-item {
  width: 146px;
  border: 1px solid #000;
}
.p-archive__photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 750px) {
  .p-archive__photo-item:nth-of-type(n + 3) {
    margin-top: 20px;
  }
}

/* ----------------------------------------
   align
---------------------------------------- */
.u-align-left {
  text-align: left;
}

.u-align-center {
  text-align: center;
}

.u-align-right {
  text-align: right;
}

/* ----------------------------------------
   hide
---------------------------------------- */
@media screen and (min-width: 751px) {
  .u-hide-pc {
    display: none !important;
  }
}

@media screen and (max-width: 750px) {
  .u-hide-sp {
    display: none !important;
  }
}

/* ----------------------------------------
   margin
---------------------------------------- */
.u-mgt-0 {
  margin-top: 0px !important;
}

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

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

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

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

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

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

.u-mgt-70 {
  margin-top: 70px !important;
}

.u-mgt-80 {
  margin-top: 80px !important;
}

.u-mgt-90 {
  margin-top: 90px !important;
}

.u-mgt-100 {
  margin-top: 100px !important;
}

.u-mgt-110 {
  margin-top: 110px !important;
}

.u-mgt-120 {
  margin-top: 120px !important;
}

.u-mgt-130 {
  margin-top: 130px !important;
}

.u-mgt-140 {
  margin-top: 140px !important;
}

.u-mgt-150 {
  margin-top: 150px !important;
}

.u-mgt-160 {
  margin-top: 160px !important;
}

.u-mgt-170 {
  margin-top: 170px !important;
}

.u-mgt-180 {
  margin-top: 180px !important;
}

.u-mgt-190 {
  margin-top: 190px !important;
}

.u-mgt-200 {
  margin-top: 200px !important;
}

.u-mgb-0 {
  margin-bottom: 0px !important;
}

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

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

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

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

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

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

.u-mgb-70 {
  margin-bottom: 70px !important;
}

.u-mgb-80 {
  margin-bottom: 80px !important;
}

.u-mgb-90 {
  margin-bottom: 90px !important;
}

.u-mgb-100 {
  margin-bottom: 100px !important;
}

.u-mgb-110 {
  margin-bottom: 110px !important;
}

.u-mgb-120 {
  margin-bottom: 120px !important;
}

.u-mgb-130 {
  margin-bottom: 130px !important;
}

.u-mgb-140 {
  margin-bottom: 140px !important;
}

.u-mgb-150 {
  margin-bottom: 150px !important;
}

.u-mgb-160 {
  margin-bottom: 160px !important;
}

.u-mgb-170 {
  margin-bottom: 170px !important;
}

.u-mgb-180 {
  margin-bottom: 180px !important;
}

.u-mgb-190 {
  margin-bottom: 190px !important;
}

.u-mgb-200 {
  margin-bottom: 200px !important;
}

/* ----------------------------------------
   position
---------------------------------------- */
.c-pos-rel {
  position: relative;
}

.c-pos-abs {
  position: absolute;
}

.c-pos-fix {
  position: fixed;
}

/* ----------------------------------------
   other
---------------------------------------- */
.u-palt {
  font-feature-settings: "palt";
}

.u-nowrap {
  white-space: nowrap;
}

.u-inline {
  display: inline;
}

.u-block {
  display: block;
}

/* ----------------------------------------
   javascript
---------------------------------------- */
.js-acc-target {
  display: none;
}