.in {
  max-width: 1400px;
  width: 95%;
  margin: 0 auto;
}
.container_s {
  max-width: 921px;
  margin: 0 auto;
}
.container_xs {
  max-width: 782px;
  margin: 0 auto;
}
.lead {
  font-size: 42px;
  letter-spacing: -0.01em;
  font-weight: var(--medium);
  line-height: 1.37;
}
.txt {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 2.4;
}
.lead + .txt {
  margin-top: 47px;
}
.flex {
  display: flex;
}
.button {
  position: relative;
  display: block;
  width: 317px;
  margin-top: 91px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--color-txt);
  font-size: 18px;
  letter-spacing: 0.04em;
}
.button::before {
  position: absolute;
  right: -63px;
  top: calc(50% - 8px);
  content: "";
  display: block;
  width: 140px;
  height: 140px;
  border-radius: 100%;
  background: rgb(var(--color-green-rgb) / 0.2) url(../img/common/icon_arrow.png) center / 8px auto no-repeat;
  transform: translateY(-50%);
  transition: .3s;
}
a:hover {
  opacity: 0.68;
}
.df_ttl {
  margin-bottom: 45px;
}
.df_ttl .sub_ttl {
  font-size: 14px;
  font-weight: var(--medium);
  letter-spacing: -0.01em;
  padding: 2px 0 2px 13px;
  border-left: 4px solid var(--color-green);
}
.df_ttl .ttl_h2 {
  padding-left: 17px;
  font-weight: var(--medium);
  font-size: 60px;
  letter-spacing: 0.05em;
  line-height: 1.08;
}
.df_ttl2 {
  margin-bottom: 56px;
}
.df_ttl2 .sub_ttl {
  font-size: 14px;
  font-weight: var(--medium);
  letter-spacing: -0.01em;
}
.df_ttl2 .ttl_h3 {
  margin-top: 10px;
  font-weight: var(--bold);
  font-size: 34px;
  letter-spacing: -0.01em;
  line-height: 1.08;
}
.df_ttl2 .txt {
  margin-left: 28px;
  padding-left: 20px;
  border-left: 4px solid rgb(var(--color-purple-rgb) / 0.5);
  margin-top: 30px;
  font-weight: var(--regular);
  line-height: 1.5;
  color: rgb(34 34 34 / 0.5);
}
#expanding_overseas .df_ttl2 .txt {
  border-color: rgb(var(--color-pink-rgb) / 0.5);
}
#food .df_ttl2 .txt {
  border-color: rgb(var(--color-orange-rgb) / 0.5);
}
#community .df_ttl2 .txt {
  border-color: rgb(var(--color-lgreen-rgb) / 0.5);
}
#corporate_planning .df_ttl2 .txt {
  border-color: rgb(var(--color-blue-rgb) / 0.5);
}
@media screen and (max-width: 1399px) {
  .container_s {
    max-width: calc(921 / 1400 * 100vw);
  }
  .container_xs {
    max-width: calc(782 / 1400 * 100vw);
  }
  .lead {
    font-size: calc(42 / 1400 * 100vw);
  }
  .txt {
    font-size: calc(16 / 1400 * 100vw);
  }
  .lead + .txt {
    margin-top: calc(47 / 1400 * 100vw);
  }
  .button {
    width: calc(317 / 1400 * 100vw);
    margin-top: calc(91 / 1400 * 100vw);
    padding-bottom: calc(18 / 1400 * 100vw);
    border-bottom: calc(2 / 1400 * 100vw) solid var(--color-txt);
    font-size: calc(18 / 1400 * 100vw);
  }
  .button::before {
    right: calc(-63 / 1400 * 100vw);
    top: calc(50% - (8 / 1400 * 100vw));
    width: calc(140 / 1400 * 100vw);
    height: calc(140 / 1400 * 100vw);
    background: rgb(var(--color-green-rgb) / 0.2) url(../img/common/icon_arrow.png) center / calc(8 / 1400 * 100vw) auto no-repeat;
  }
  .df_ttl {
    margin-bottom: calc(45 / 1400 * 100vw);
  }
  .df_ttl .sub_ttl {
    font-size: calc(14 / 1400 * 100vw);
    padding: calc(2 / 1400 * 100vw) 0 calc(2 / 1400 * 100vw) calc(13 / 1400 * 100vw);
    border-left: calc(4 / 1400 * 100vw) solid var(--color-green);
  }
  .df_ttl .ttl_h2 {
    padding-left: calc(17 / 1400 * 100vw);
    font-size: calc(60 / 1400 * 100vw);
  }
  .df_ttl2 {
    margin-bottom: calc(56 / 1400 * 100vw);
  }
  .df_ttl2 .sub_ttl {
    font-size: calc(14 / 1400 * 100vw);
  }
  .df_ttl2 .ttl_h3 {
    margin-top: calc(10 / 1400 * 100vw);
    font-size: calc(34 / 1400 * 100vw);
  }
  .df_ttl2 .txt {
    margin-left: calc(28 / 1400 * 100vw);
    padding-left: calc(20 / 1400 * 100vw);
    border-left: calc(4 / 1400 * 100vw) solid rgb(var(--color-purple-rgb) / 0.5);
    margin-top: calc(30 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .in,
  .container_s,
  .container_xs {
    max-width: none;
    width: auto;
    padding: 0 calc(15 / 390 * 100vw);
  }
  .df_ttl {
    margin-bottom: calc(70 / 390 * 100vw);
  }
  .df_ttl .sub_ttl {
    border-left: calc(3 / 390 * 100vw) solid var(--color-green);
    padding-left: calc(10 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  .df_ttl .ttl_h2 {
    padding-left: calc(13 / 390 * 100vw);
    padding-top: calc(6 / 390 * 100vw);
    font-size: calc(43 / 390 * 100vw);
  }
  .df_ttl2 {
    margin-bottom: calc(52 / 390 * 100vw);
  }
  .df_ttl2 .sub_ttl {
    font-size: calc(14 / 390 * 100vw);
  }
  .df_ttl2 .ttl_h3 {
    margin-top: calc(9.7 / 390 * 100vw);
    font-size: calc(34 / 390 * 100vw);
  }
  .df_ttl2 .txt {
    position: relative;
    margin-top: calc(29 / 390 * 100vw);
    margin-left: 0;
    padding-left: calc(24 / 390 * 100vw);
    border: none;
    line-height: 1.75;
  }
  .df_ttl2 .txt::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: calc(4 / 390 * 100vw);
    height: calc(52 / 390 * 100vw);
    background: rgb(var(--color-purple-rgb) / 0.5);
  }
  #expanding_overseas .df_ttl2 .txt::before {
    background: rgb(var(--color-pink-rgb) / 0.5);
  }
  #food .df_ttl2 .txt::before {
    background: rgb(var(--color-orange-rgb) / 0.5);
  }
  #community .df_ttl2 .txt::before {
    background: rgb(var(--color-lgreen-rgb) / 0.5);
  }
  #corporate_planning .df_ttl2 .txt::before {
    background: rgb(var(--color-blue-rgb) / 0.5);
  }
  .lead {
    font-size: calc(32 / 390 * 100vw);
  }
  .txt {
    font-size: calc(16  / 390 * 100vw);
  }
  .lead + .txt {
    margin-top: calc(45 / 390 * 100vw);
  }
  .button {
    width: calc(252 / 390 * 100vw);
    margin-top: calc(84 / 390 * 100vw);
    padding-bottom: calc(12.5 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
  }
  .button::before {
    right: calc(-50 / 390 * 100vw);
    width: calc(111 / 390 * 100vw);
    height: calc(111 / 390 * 100vw);
    background-size: calc(7 / 390 * 100vw) auto;
  }
}

/* ---------------------------------
whats
---------------------------------- */
.whats .in {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 120px 0 130px;
}
.whats .in .button {
  position: absolute;
  left: 0;
  bottom: 190px;
}
.whats .in .flex_txt  {
  margin-top: 100px;
  max-width: 736px;
}
@media screen and (max-width: 1399px) {
  .whats .in {
    padding: calc(120 / 1400 * 100vw) 0 calc(130 / 1400 * 100vw);
  }
  .whats .in .button {
    bottom: calc(190 / 1400 * 100vw);
  }
  .whats .in .flex_txt  {
    margin-top: calc(100 / 1400 * 100vw);
    max-width: calc(736 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .whats .in {
    display: block;
    padding: calc(57 / 390 * 100vw) calc(15 / 390 * 100vw) calc(100 / 390 * 100vw);
  }
  .whats .in .flex_txt {
    max-width: none;
    margin: 0;
  }
  .whats .in .button {
    position: relative;
    left: auto;
    bottom: auto;
  }
}

/* ---------------------------------
enterprise
---------------------------------- */
.enterprise {
  padding: 130px 0 0;
  background: #F5F5F5;
}
.enterprise .in {
  padding-bottom: 130px;
}
.enterprise .contents {
  position: relative;
  max-width: 1028px;
  margin: 0 auto;
  padding: 60px 0 95px 75px;
}
.enterprise .contents + .contents {
  margin-top: 60px;
}
.enterprise .contents::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: calc(50% + 50vw);
  height: 100%;
  background: #fff;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.enterprise .contents > * {
  position: relative;
  z-index: 1;
  width: calc(100% + 186px);
}
.enterprise .links {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  width: 1015px;
  margin: 60px 0 0 78px;
}
.enterprise .links .item {
  width: calc(50% - 20px);
}
.enterprise .links .item a {
  display: block;
}
.enterprise .links .item figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 270px;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgb(0 0 0 / 0.16);
  margin-bottom: 14px;
}
.enterprise .links .item figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.enterprise .links .item dt {
  font-size: 22px;
  color: var(--color-green);
  letter-spacing: 0.04em;
  font-weight: var(--medium);
}
.enterprise .links .item dt span {
  padding: 0 15px;
}
.enterprise .links .item dd {
  padding: 10px 15px 0;
  letter-spacing: 0.04em;
  line-height: 1.8375;
}
.enterprise .links .item a dd {
  padding-right: 25px;
  background: url(../img/common/icon_arrow.png) center right 15px/8px auto no-repeat;
}
@media screen and (max-width: 1399px) {
  .enterprise {
    padding: calc(130 / 1400 * 100vw) 0 0;
  }
  .enterprise .in {
    padding-bottom: calc(130 / 1400 * 100vw);
  }
  .enterprise .contents {
    max-width: calc(1028 / 1400 * 100vw);
    padding: calc(60 / 1400 * 100vw) 0 calc(95 / 1400 * 100vw) calc(75 / 1400 * 100vw);
  }
  .enterprise .contents + .contents {
    margin-top: calc(60 / 1400 * 100vw);
  }
  .enterprise .contents::after {
    border-top-left-radius: calc(10 / 1400 * 100vw);
    border-bottom-left-radius: calc(10 / 1400 * 100vw);
  }
  .enterprise .contents > * {
    width: calc(100% + (186 / 1400 * 100vw));
  }
  .enterprise .links {
    gap: calc(40 / 1400 * 100vw);
    width: calc(1015 / 1400 * 100vw);
    margin: calc(60 / 1400 * 100vw) 0 0 calc(78 / 1400 * 100vw);
  }
  .enterprise .links .item {
    width: calc(50% - (20 / 1400 * 100vw));
  }
  .enterprise .links .item figure {
    height: calc(270 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
    box-shadow: 0 calc(3 / 1400 * 100vw) calc(6 / 1400 * 100vw) rgb(0 0 0 / 0.16);
    margin-bottom: calc(14 / 1400 * 100vw);
  }
  .enterprise .links .item dt {
    font-size: calc(22 / 1400 * 100vw);
  }
  .enterprise .links .item dt span {
    padding: 0 calc(15 / 1400 * 100vw);
  }
  .enterprise .links .item dd {
    padding: calc(10 / 1400 * 100vw) calc(15 / 1400 * 100vw) 0;
  }
  .enterprise .links .item a dd {
    padding-right: calc(25 / 1400 * 100vw);
    background: url(../img/common/icon_arrow.png) center right calc(15 / 1400 * 100vw)/calc(8 / 1400 * 100vw) auto no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .enterprise {
    padding-top: calc(83 / 390 * 100vw);
  }
  .enterprise .in {
    padding-bottom: calc(85 / 390 * 100vw);
  }
  .enterprise .df_ttl {
    margin-bottom: calc(36 / 390 * 100vw);
  }
  .enterprise .contents {
    max-width: none;
    width: calc(100% + (30 / 390 * 100vw));
    margin: 0 calc(-15 / 390 * 100vw);
    padding: calc(52 / 390 * 100vw) calc(15 / 390 * 100vw) calc(75 / 390 * 100vw);
  }
  .enterprise .contents > * {
    width: auto;
  }
  .enterprise .contents + .contents {
    margin-top: calc(45 / 390 * 100vw);
  }
  .enterprise .links {
    margin: 0;
    gap: calc(40 / 390 * 100vw);
  }
  .enterprise .links .item {
    width: 100%;
  }
  .enterprise .links .item figure {
    margin-bottom: calc(10 / 390 * 100vw);
    height: calc(200 / 390 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    box-shadow: 0 calc(3 / 390 * 100vw) calc(6 / 390 * 100vw) rgb(0 0 0 / 0.16);
  }
  .enterprise .links .item dt {
    font-size: calc(18 / 390 * 100vw);
  }
  .enterprise .links .item dt span {
    padding: 0 calc(7 / 390 * 100vw);
  }
  .enterprise .links .item a dd {
    font-size: calc(14 / 390 * 100vw);
    padding-left: calc(7 / 390 * 100vw);
    padding-top: 0;
    margin-top: calc(7 / 390 * 100vw);
    background-size: calc(7 / 390 * 100vw) auto;
    background-position: center right calc(5 / 390 * 100vw);
  }
}

/* ---------------------------------
media
---------------------------------- */
.media {
  padding: 140px 0 90px;
}
.media_slide {
  overflow: visible;
}
.media_list {
  display: flex;
}
.media_card {
  height: auto;
  width: 424px;
  margin-right: 30px;
  padding: 21px 24px 45px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgb(0 0 0 / 0.16);
}
.media_card:last-of-type {
  margin-right: 0;
}
.media_card figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/0.625;
  margin-bottom: 16px;
}
.media_card figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media_card time {
  display: block;
  margin-bottom: 12px;
}
.media_card .ttl {
  font-size: 22px;
  margin-bottom: 25px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.media_card .txt {
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 1399px) {
  .media {
    padding: calc(140 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }
  .media_card {
    width: calc(424 / 1400 * 100vw);
    margin-right: calc(30 / 1400 * 100vw);
    padding: calc(21 / 1400 * 100vw) calc(24 / 1400 * 100vw) calc(45 / 1400 * 100vw);
    border-radius: calc(10 / 1400 * 100vw);
    box-shadow: 0 calc(3 / 1400 * 100vw) calc(6 / 1400 * 100vw) rgb(0 0 0 / 0.16);
  }
  .media_card figure {
    margin-bottom: calc(16 / 1400 * 100vw);
  }
  .media_card time {
    margin-bottom: calc(12 / 1400 * 100vw);
  }
  .media_card .ttl {
    font-size: calc(22 / 1400 * 100vw);
    margin-bottom: calc(25 / 1400 * 100vw);
  }
  .media_card .txt {
    font-size: calc(15 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .media {
    padding: calc(89 / 390 * 100vw) 0 calc(85 / 390 * 100vw);
  }
  .media .df_ttl {
    margin-bottom: calc(49 / 390 * 100vw);
  }
  .media_card {
    padding: calc(16 / 390 * 100vw) calc(18 / 390 * 100vw) calc(64 / 390 * 100vw);
    width: calc(322 / 390 * 100vw);
    margin-right: calc(15 / 290 * 100vw);
    border-radius: calc(10 / 390 * 100vw);
    box-shadow: 0 calc(3 / 390 * 100vw) calc(6 / 390 * 100vw) rgb(0 0 0 / 0.16);
  }
  .media_card figure {
    margin-bottom: calc(21 / 390 * 100vw);
  }
  .media_card time {
    font-size: calc(14 / 390 * 100vw);
    margin-bottom: calc(8 / 390 * 100vw);
  }
  .media_card .ttl {
    margin-bottom: calc(21 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
  .media_card .txt {
    font-size: calc(15 / 390 * 100vw);
    line-height: 1.86;
  }
}

/* ---------------------------------
information
---------------------------------- */
.information {
  padding: 91px 0 145px;
  background-color: #E8EAED;
}
.info_card {
  border-bottom: 1px solid #CBCBCB;
}
.info_card a {
  display: flex;
  align-items: center;
  gap: 37px;
  padding: 40px 0;
}
.info_card a figure {
  position: relative;
  width: 305px;
  height: 197px;
  overflow: hidden;
  border-radius: 5px;
}
.info_card a figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.info_card a .txt_wrap {
  width: calc(100% - 37px - 305px);
}
.info_card time {
  color: rgb(34 34 34 / 0.5);
  font-size: 14px;
}
.info_card .ttl {
  margin-top: 18px;
  font-size: 18px;
  letter-spacing: 0.04em;
}
.info_card .txt {
  font-weight: var(--regular);
  font-size: 16px;
  margin-top: 14px;
  letter-spacing: 0.04em;
  line-height: 1.75;
}
.information .button {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1399px) {
  .information {
    padding: calc(91 / 1400 * 100vw) 0 calc(145 / 1400 * 100vw);
  }
  .info_card a {
    gap: calc(37 / 1400 * 100vw);
    padding: calc(40 / 1400 * 100vw) 0;
  }
  .info_card a figure {
    width: calc(305 / 1400 * 100vw);
    height: calc(197 / 1400 * 100vw);
    border-radius: calc(5 / 1400 * 100vw);
  }
  .info_card a .txt_wrap {
    width: calc(100% - (37 / 1400 * 100vw) - (305 / 1400 * 100vw));
  }
  .info_card time {
    font-size: calc(14 / 1400 * 100vw);
  }
  .info_card .ttl {
    margin-top: calc(18 / 1400 * 100vw);
    font-size: calc(18 / 1400 * 100vw);
  }
  .info_card .txt {
    font-size: calc(16 / 1400 * 100vw);
    margin-top: calc(14 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .information {
    padding: calc(89 / 390 * 100vw) 0 calc(124 / 390 * 100vw);
  }
  .information .df_ttl {
    margin-bottom: calc(49 / 390 * 100vw);
  }
  .info_card {
    border: none;
  }
  .info_card + .info_card {
    margin-top: calc(49 / 390 * 100vw);
  }
  .info_card a {
    flex-direction: column;
    gap: calc(17 / 390 * 100vw);
    padding: 0;
  }
  .info_card a figure {
    width: 100%;
    height: calc(234 / 390 * 100vw);
    border-radius: calc(5 / 390 * 100vw);
  }
  .info_card a .txt_wrap {
    width: 100%;
  }
  .info_card time {
    font-size: calc(14 / 390 * 100vw);
  }
  .info_card .ttl {
    margin-top: calc(6 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
  .info_card .txt {
    display: none;
  }
  .information .button {
    transform: translateX(calc(-20 / 390 * 100vw));
  }
}


/* -------------------------------------------------------------------------------------------------
about page
--------------------------------------------------------------------------------------------------*/
#about .kv {
  padding: 110px 0 100px;
  background: #F1F0EC;
}
#about .kv_img {
  position: relative;
}
#about .kv_img picture {
  position: relative;
  display: block;
  width: 100%;
  height: 590px;
  overflow: hidden;
}
#about .kv_img picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#about .kv_ttl {
  position: absolute;
  left: 0;
  top: 515px;
  font-size: 110px;
  color: #fff;
  letter-spacing: -0.01em;
  font-weight: var(--bold);
  line-height: 1.35;
}
#about .kv .txt_wrap {
  max-width: 670px;
  margin: 64px 0 0 auto;
}
#about .kv .txt_wrap .lead {
  font-weight: var(--bold);
  font-size: 26px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
#about .kv .txt_wrap .lead + .txt {
  margin-top: 36px;
  font-size: 19px;
  line-height: 1.9;
}
#about .loop_slide {
  margin-top: 117px;
}
#about .loop_slide .swiper-wrapper {
  display: flex;
  transition-timing-function: linear;
}
#about .loop_slide .swiper-slide {
  width: 289px;
}
/* section */
#about .section {
  padding: 100px 0;
}
#about .contents {
  position: relative;
  padding-top: 124px;
}
#about .contents figure {
  position: absolute;
  top: 0;
  right: -100px;
  overflow: hidden;
  width: 1090px;
  height: 624px;
}
#about .contents + .contents {
  margin-top: 56px;
}
#about .contents figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#about .contents .txt_wrap {
  position: relative;
  z-index: 2;
  max-width: 680px;
  background: #fff;
  padding: 74px 83px 64px;
}
#about .contents .txt_wrap .ttl_h2 {
  margin-bottom: 39px;
  font-size: 45px;
  font-weight: var(--bold);
  letter-spacing: -0.01em;
}
#about .contents .txt_wrap .txt {
  font-size: 18px;
  letter-spacing: 0.04em;
  line-height: 1.96;
}
#about .section .button {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1399px) {
  #about .kv {
    padding: calc(110 / 1400 * 100vw) 0 calc(100 / 1400 * 100vw);
  }
  #about .kv_img picture {
    height: calc(590 / 1400 * 100vw);
  }
  #about .kv_ttl {
    top: calc(515 / 1400 * 100vw);
    font-size: calc(110 / 1400 * 100vw);
  }
  #about .kv .txt_wrap {
    max-width: calc(670 / 1400 * 100vw);
    margin: calc(64 / 1400 * 100vw) 0 0 auto;
  }
  #about .kv .txt_wrap .lead {
    font-size: calc(26 / 1400 * 100vw);
  }
  #about .kv .txt_wrap .lead + .txt {
    margin-top: calc(36 / 1400 * 100vw);
    font-size: calc(19 / 1400 * 100vw);
  }
  #about .loop_slide {
    margin-top: calc(117 / 1400 * 100vw);
  }
  #about .loop_slide .swiper-slide {
    width: calc(289 / 1400 * 100vw);
  }
  /* section */
  #about .section {
    padding: calc(100 / 1400 * 100vw) 0;
  }
  #about .contents {
    padding-top: calc(124 / 1400 * 100vw);
  }
  #about .contents figure {
    right: calc(-100 / 1400 * 100vw);
    width: calc(1090 / 1400 * 100vw);
    height: calc(624 / 1400 * 100vw);
  }
  #about .contents + .contents {
    margin-top: calc(56 / 1400 * 100vw);
  }
  #about .contents .txt_wrap {
    max-width: calc(680 / 1400 * 100vw);
    padding: calc(74 / 1400 * 100vw) calc(83 / 1400 * 100vw) calc(64 / 1400 * 100vw);
  }
  #about .contents .txt_wrap .ttl_h2 {
    margin-bottom: calc(39 / 1400 * 100vw);
    font-size: calc(45 / 1400 * 100vw);
  }
  #about .contents .txt_wrap .txt {
    font-size: calc(18 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  #about .kv {
    padding: calc(89 / 390 * 100vw) 0 calc(85 / 390 * 100vw);
  }
  #about .kv_img picture {
    height: calc(500 / 390 * 100vw);
    width: calc(100% + (30 / 390 * 100vw));
    margin: 0 calc(-15 / 390 * 100vw);
  }
  #about .kv_ttl {
    position: relative;
    font-size: calc(55 / 390 * 100vw);
    margin-top: calc(-117 / 390 * 100vw);
    top: auto;
    left: auto;
  }
  #about .kv .txt_wrap {
    max-width: none;
    margin-top: calc(49 / 390 * 100vw);
  }
  #about .kv .txt_wrap .lead {
    font-size: calc(26 / 390 * 100vw);
  }
  #about .kv .txt_wrap .lead + .txt {
    font-size: calc(16 / 390 * 100vw);
    margin-top: calc(20 / 390 * 100vw);
  }
  #about .loop_slide {
    margin-top: calc(50 / 390 * 100vw);
  }
  #about .loop_slide .swiper-slide {
    width: calc(250 / 390 * 100vw);
  }
  #about .section {
    padding: calc(89 / 390 * 100vw) 0 calc(124 / 390 * 100vw);
  }
  #about .contents {
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
  }
  #about .contents + .contents {
    margin-top: calc(56 / 390 * 100vw);
  }
  #about .contents figure {
    position: relative;
    top: auto;
    right: auto;
    width: calc(100% + (30 / 390 * 100vw));
    height: calc(350 / 390 * 100vw);
    margin: 0 calc(-15 / 390 * 100vw);
  }
  #about .contents .txt_wrap {
    max-width: none;
    width: auto;
    margin-top: calc(-50 / 390 * 100vw);
    padding: calc(40 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
  #about .contents .txt_wrap .ttl_h2 {
    margin-bottom: calc(20 / 390 * 100vw);
    font-size: calc(26 / 390 * 100vw);
  }
  #about .contents .txt_wrap .txt {
    font-size: calc(16 / 390 * 100vw);
    line-height: 2.4;
  }
  #about .section .button {
    transform: translateX(calc(-20 / 390 * 100vw));
  }
}


/* -------------------------------------------------------------------------------------------------
informaiton page
--------------------------------------------------------------------------------------------------*/
#information .information {
  background: #fff;
}
#information .information .info_card:last-of-type {
  border-bottom: none;
}
#information .information .info_card:last-of-type a {
  padding-bottom: 0;
}
.pager {
  margin-top: 58px;
}
.pager .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager .nav-links span,
.pager .nav-links a {
  display: block;
  width: 30px;
  height: 40px;
  font-size: 16px;
  font-family: var(--font-en);
  font-weight: var(--medium);
  line-height: 40px;
  text-align: center;
  border-bottom: 1px solid #E2DED3;
}
.pager .nav-links .current {
  border-color: var(--color-green);
}
.pager .nav-links a.next, 
.pager .nav-links a.prev {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pager .nav-links a.next img, 
.pager .nav-links a.prev img {
  width: 6px;
}
/* single -------- */
#information.single .in {
  max-width: 921px;
  padding: 139px 0 105px;
}
#information.single .ttl {
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: var(--medium);
  letter-spacing: 0.04em;
  padding-bottom: 14px;
  border-bottom: 1px solid #CBCBCB;
}
#information.single .content * {
  letter-spacing: 0.04em;
  line-height: 2.215;
  font-weight: revert-layer;
  text-decoration: revert-layer;
}
#information.single .content img {
  max-width: 100%;
}
#information.single .content > * {
  margin: 1.5em 0;
}
#information.single .content > *:first-child {
  margin-top: 0;
}
#information.single .content > *:last-child {
  margin-bottom: 0;
}
#information.single .content ul,
#information.single .content ol {
  padding-left: 1.5em;
}
#information.single .content ul li {
  list-style: disc;
}
#information.single .content ol li {
  list-style: decimal;
}
#information.single .links {
  background: #F6F6F6;
}
#information.single .links .in {
  position: relative;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 118px;
}
#information.single .links a {
  text-decoration: underline;
}
#information.single .links a.prev {
  position: absolute;
  left: 0;
}
#information.single .links a.next {
  position: absolute;
  right: 0;
}
@media screen and (max-width: 1399px) {
  .pager {
    margin-top: calc(58 / 1400 * 100vw);
  }
  .pager .nav-links span,
  .pager .nav-links a {
    width: calc(30 / 1400 * 100vw);
    height: calc(40 / 1400 * 100vw);
    font-size: calc(16 / 1400 * 100vw);
    line-height: calc(40 / 1400 * 100vw);
  }
  .pager .nav-links a.next img, 
  .pager .nav-links a.prev img {
    width: calc(6 / 1400 * 100vw);
  }
  /* single -------- */
  #information.single .in {
    max-width: calc(921 / 1400 * 100vw);
    padding: calc(139 / 1400 * 100vw) 0 calc(105 / 1400 * 100vw);
  }
  #information.single .ttl {
    margin-bottom: calc(40 / 1400 * 100vw);
    font-size: calc(24 / 1400 * 100vw);
    padding-bottom: calc(14 / 1400 * 100vw);
  }
  #information.single .links .in {
    height: calc(118 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  #information .information {
    padding: calc(89 / 390 * 100vw) 0 calc(85 / 390 * 100vw);
  }
  #information .information .df_ttl {
    margin-bottom: calc(70 / 390 * 100vw);
  }
  .pager {
    margin-top: calc(58 / 390 * 100vw);
  }
  .pager .nav-links span,
  .pager .nav-links a {
    width: calc(30 / 390 * 100vw);
    height: calc(40 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    line-height: calc(40 / 390 * 100vw);
  }
  .pager .nav-links a.next img, 
  .pager .nav-links a.prev img {
    width: calc(6 / 390 * 100vw);
  }
  /* single -------- */
  #information.single .in {
    max-width: none;
    padding: calc(80 / 390 * 100vw) calc(15 / 390 * 100vw);
  }
  #information.single .ttl {
    margin-bottom: calc(40 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
    padding-bottom: calc(14 / 390 * 100vw);
  }
  #information.single .links .in {
    height: calc(118 / 390 * 100vw);
    padding: 0 calc(15 / 390 * 100vw);
  }
  #information.single .links a {
    font-size: calc(14 / 390 * 100vw);
  }
  #information.single .links a.prev {
    left: calc(15 / 390 * 100vw);
  }
  #information.single .links a.next {
    right: calc(15 / 390 * 100vw);
  }
}


/* -------------------------------------------------------------------------------------------------
media page
--------------------------------------------------------------------------------------------------*/
#media .media_list {
  gap: 30px;
  flex-wrap: wrap;
}
#media .media_card {
  margin: 0;
  width: calc(33.33% - (30px * 2 / 3));
}
@media screen and (max-width: 1399px) {
  #media .media_list {
    gap: calc(30 / 1400 * 100vw);
  }
  #media .media_card {
    margin: 0;
    width: calc(33.33% - ((30 / 1400 * 100vw) * 2 / 3));
  }
}
@media screen and (max-width: 750px) {
  #media .media_list {
    gap: calc(30 / 390 * 100vw);
  }
  #media .media_card {
    width: 100%;
  }
}



/* -------------------------------------------------------------------------------------------------
company page
--------------------------------------------------------------------------------------------------*/
#company .section {
  padding: 110px 0 95px;
}
#company .section table {
  width: 100%;
}
#company .section table th,
#company .section table td {
  font-size: 16px;
  font-weight: var(--medium);
  padding: 22px 0;
  border-bottom: 1px solid #CBCBCB;
  vertical-align: top;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
#company .section table th {
  width: 200px;
  padding-left: 38px;
}
#company .section table dl {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 7px;
}
#company .section table dl dt {
  width: 132px;
  font-weight: var(--bold);
  line-height: 1.9;
  letter-spacing: 0.04em;
}
#company .section table dl dd {
  width: calc(100% - 132px - 7px);
  line-height: 1.9;
  letter-spacing: 0.04em;
}
#company .section table dl + b {
  font-weight: var(--bold);
  display: block;
  margin-top: 20px;
}
@media screen and (max-width: 1399px) {
  #company .section {
    padding: calc(110 / 1400 * 100vw) 0 calc(95 / 1400 * 100vw);
  }
  #company .section table th,
  #company .section table td {
    font-size: calc(16 / 1400 * 100vw);
    padding: calc(22 / 1400 * 100vw) 0;
  }
  #company .section table th {
    width: calc(200 / 1400 * 100vw);
    padding-left: calc(38 / 1400 * 100vw);
  }
  #company .section table dl {
    gap: calc(20 / 1400 * 100vw) calc(7 / 1400 * 100vw);
  }
  #company .section table dl dt {
    width: calc(132 / 1400 * 100vw);
  }
  #company .section table dl dd {
    width: calc(100% - (132 / 1400 * 100vw) - (7 / 1400 * 100vw));
  }
  #company .section table dl + b {
    margin-top: calc(20 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  #company .section {
    padding: calc(89 / 390 * 100vw) 0 calc(124 / 390 * 100vw);
  }
  #company .section table th, 
  #company .section table td {
    display: block;
    width: 100%;
    font-size: calc(16 / 390 * 100vw);
  }
  #company .section table th {
    padding: calc(20 / 390 * 100vw) calc(10 / 390 * 100vw) 0;
    border-bottom: none;
    font-weight: var(--bold);
  }
  #company .section table td {
    font-weight: var(--regular);
    padding: calc(10 / 390 * 100vw) calc(10 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
  #company .section table dl {
    gap: calc(15 / 390 * 100vw) calc(7 / 390 * 100vw);
  }
  #company .section table dl dt {
    width: calc(120 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
  #company .section table dl dd {
    font-size: calc(15 / 390 * 100vw);
    width: calc(100% - (120 / 390 * 100vw) - (7 / 390 * 100vw));
  }
  #company .section table dl + b {
    font-size: calc(15 / 390 * 100vw);
  }
}


/* -------------------------------------------------------------------------------------------------
contact page
--------------------------------------------------------------------------------------------------*/
#contact .submit_button {
  text-align: left;
  background: none;
  cursor: pointer;
}
#contact .section {
  padding: 110px 0 195px;
}
#contact .section table {
  width: 100%;
}
#contact .section table th,
#contact .section table td {
  padding: 18px 0;
}
#contact .section table th {
  vertical-align: top;
  padding-top: 35px;
  width: 82px;
  text-align: right;
  font-weight: var(--medium);
}
#contact .section table td {
  padding-left: 35px;
}
#contact .section .button {
  margin-left: auto;
  margin-right: auto;
}
#contact .button input {
  background: none;
  border: none;
  font-size: 18px;
  padding: 0;
}
/* confirm */
#contact.confirm .section table th,
#contact.confirm .section table td {
  padding: 18px 0;
  text-align: left;
}
#contact.confirm .section table th {
  width: 130px;
  min-width: 130px;
}
#contact.confirm .buttons {
  margin-top: 90px;
}
#contact.confirm .buttons p {
  display: flex;
  justify-content: center;
  gap: 50px;
}
#contact.confirm .buttons .button {
  width: 200px;
  margin: 0;
}
#contact.confirm .buttons .button_previous::before {
  background-color: transparent;
}
#contact .thanks .lead {
  text-align: center;
  font-size: 22px;
}
.wpcf7-response-output {
  display: none !important;
}
@media screen and (max-width: 1399px) {
  #contact .section {
    padding: calc(110 / 1400 * 100vw) 0 calc(195 / 1400 * 100vw);
  }
  #contact .section table th,
  #contact .section table td {
    padding: calc(18 / 1400 * 100vw) 0;
  }
  #contact .section table th {
    padding-top: calc(35 / 1400 * 100vw);
    width: calc(82 / 1400 * 100vw);
  }
  #contact .section table td {
    padding-left: calc(35 / 1400 * 100vw);
  }
  #contact .button input {
    font-size: calc(18 / 1400 * 100vw);
  }
  /* confirm */
  #contact.confirm .section table th,
  #contact.confirm .section table td {
    padding: calc(18 / 1400 * 100vw) 0;
  }
  #contact.confirm .section table th {
    width: calc(130 / 1400 * 100vw);
    min-width: calc(130 / 1400 * 100vw);
  }
  #contact.confirm .buttons {
    margin-top: calc(90 / 1400 * 100vw);
  }
  #contact.confirm .buttons p {
    gap: calc(50 / 1400 * 100vw);
  }
  #contact.confirm .buttons .button {
    width: calc(200 / 1400 * 100vw);
  }
  #contact .thanks .lead {
    font-size: calc(22 / 1400 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  #contact .section {
    padding: calc(89 / 390 * 100vw) 0 calc(124 / 390 * 100vw);
  }
  #contact .form_wrap {
    padding: 0;
  }
  #contact .section table tr {
    display: block;
  }
  #contact .section table tr + tr {
    margin-top: calc(30 / 390 * 100vw);
  }
  #contact .section table th, 
  #contact .section table td {
    display: block;
    width: 100% !important;
    min-width: auto !important;
    text-align: left;
    font-size: calc(16 / 390 * 100vw) !important;
  }
  #contact .section table th {
    padding: 0 !important;
  }
  #contact .section table td {
    padding: calc(20 / 390 * 100vw) 0 0 !important;
  }
  #contact .section .button {
    transform: translateX(calc(-20 / 390 * 100vw));
  }
  #contact.confirm .section table tr {
    padding-bottom: calc(15 / 390 * 100vw);
    border-bottom: 1px solid #CBCBCB;
  }
  #contact.confirm .buttons {
    margin-top: calc(70 / 390 * 100vw);
  }
  #contact.confirm .buttons p {
    flex-direction: column;
    align-items: center;
    gap: calc(50 / 390 * 100vw);
  }
  #contact.confirm .buttons .button {
    width: calc(252 / 390 * 100vw);
    transform: unset;
  }
  #contact .button input {
    font-size: calc(16 / 390 * 100vw);
  }
  #contact .thanks .lead {
    font-size: calc(20 / 390 * 100vw);
  }
}