@charset "UTF-8";
#satow_area {
  background-color: #3c3028;
}

#satow_area #satow_area_inner {
  position: relative;
  transition-duration: 0.5s;
  overflow-x: clip;
}

#satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
  color: #423730;
  display: block;
  right: -30px;
  font-size: 130px;
  font-family: "Josefin Sans", "serif";
  position: absolute;
  font-weight: 600;
  transition-duration: 0.5s;
  z-index: 10;
  line-height: 1;
  pointer-events: none;
}

#satow_area #satow_area_inner:before {
  content: "SATOW";
  top: 25px;
}
#satow_area #satow_area_inner:after {
  content: "TAKEO";
  top: 150px;
}
@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
    font-size: 110px;
    right: -20px;
  }
  #satow_area #satow_area_inner:before {
    top: 20px;
  }
  #satow_area #satow_area_inner:after {
    top: 125px;
  }
}
@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
    font-size: 90px;
  }
  #satow_area #satow_area_inner:after {
    top: 105px;
  }
}
@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
    font-size: 90px;
    right: -15px;
  }
  #satow_area #satow_area_inner:before {
    top: 10px;
  }
  #satow_area #satow_area_inner:after {
    top: 85px;
  }
}
@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
    font-size: 80px;
    right: -15px;
  }
  #satow_area #satow_area_inner:before {
    top: 25px;
  }
  #satow_area #satow_area_inner:after {
    top: 95px;
  }
}
@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner:before, #satow_area #satow_area_inner:after {
    font-size: 56px;
  }
  #satow_area #satow_area_inner:before {
    top: 30px;
  }
  #satow_area #satow_area_inner:after {
    top: 95px;
  }
}

#satow_area #satow_area_inner #satow_area_title {
  text-align: center;
  padding: 80px 0 65px;
  position: relative;
  z-index: 60;
  transition-duration: 0.5s;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_area_title {
      padding: 60px 0 45px;
    }
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_area_title {
      padding: 50px 0 40px;
    }
}

#satow_area #satow_area_inner #satow_area_title h1 {
  color: #fff;
  font-size: 64px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  letter-spacing: 8px;
  transition-duration: 0.5s;
}

#satow_area #satow_area_inner #satow_area_title h1 span {
  display: block;
  font-size: 20px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  padding-top: 0px;
  transition-duration: 0.5s;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_area_title h1 {
      font-size: 56px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 18px;
    }
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_area_title h1 {
      font-size: 48px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 16px;
    }
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_area_title h1 {
      font-size: 50px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 12px;
      padding-top: 6px;
    }
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_area_title {
      padding: 40px 0 30px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 {
      font-size: 40px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 14px;
      padding-top: 6px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_area_title {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 160px;
      padding: 0;
      box-shadow: 0 -7px 12px -3px rgba(0, 0, 0, 0.2) inset;
    }
  #satow_area #satow_area_inner #satow_area_title h1 {
      text-shadow: 0 0 10px #3c3028, 0 0 10px #3c3028, 0 0 10px #3c3028;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 16px;
      padding-top: 6px;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_area_title {
      height: 160px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 {
      font-size: 36px;
      letter-spacing: 4px;
    }
  #satow_area #satow_area_inner #satow_area_title h1 span {
      font-size: 16px;
      padding-top: 6px;
      letter-spacing: 4px;
    }
}

#satow_area #satow_area_inner #satow_portrait {
  position: fixed;
  top: 0;
  left: 25%;
  height: 100%;
  background-image: url(../images/satowtakeo/satowtakeo_profile.jpg);
  background-repeat: no-repeat;
  background-size: 1200px auto;
  background-position: top left;
  width: 100%;
  background-color: #3c3028;
}

@media only screen and (max-width: 1600px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1200px auto;
    }
}

@media only screen and (max-width: 1500px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1150px auto;
    }
}

@media only screen and (max-width: 1400px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1100px auto;
      background-position: top left -50px;
    }
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1000px auto;
    }
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1000px auto;
    }
}

@media only screen and (max-width: 1100px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 1000px auto;
    }
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: 800px auto;
      background-position: top 70px left;
      left: 0%;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: auto 170px;
      background-position: top left -10px;
      background-image: url(../images/satowtakeo/satowtakeo_profile_sp.jpg);
      top: 0px;
      position: absolute;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_portrait {
      background-size: auto 170px;
      top: 0px;
    }
}

#satow_area #satow_area_inner #satow_mainarea {
  display: flex;
  flex-direction: row-reverse;
  position: relative;
  z-index: 50;
}

#satow_area #satow_area_inner #satow_mainarea h2, #satow_area #satow_area_inner #satow_mainarea p, #satow_area #satow_area_inner #satow_mainarea ul, #satow_area #satow_area_inner #satow_mainarea li, #satow_area #satow_area_inner #satow_mainarea span {
  color: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
  width: 60.75%;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
      width: 64%;
    }
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
      width: 63%;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
      width: 100%;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv {
  width: 100%;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul {
  display: flex;
  width: 100%;
  background-color: #423730;
  padding-right: 65px;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul {
      padding-right: 45px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul {
      padding-right: 0px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(1) {
  width: 36%;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(2), #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(3) {
  width: 32%;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(1) {
      width: 44%;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(2), #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(3) {
      width: 28%;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(1) {
      width: 44%;
      order: 2;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(2), #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(3) {
      width: 28%;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(2) {
      order: 1;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li:nth-child(3) {
      order: 3;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a {
  display: flex;
  text-align: center;
  width: 100;
  background-color: #423730;
  height: 72px;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a {
      height: 54px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a span {
  color: #fff;
  position: relative;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  display: flex;
  justify-content: center;
  transition-duration: 0.5s;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a span {
      font-size: 14px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a span:after {
  display: block;
  font-size: 80%;
  transition-duration: 0.5s;
  content: "\f0d7";
  position: absolute;
  font-weight: 100;
  font-family: "FontAwesome";
  opacity: 0;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a.active {
      background-color: #3c3028;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a.active span {
  margin-bottom: 10px;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a.active span {
      margin-bottom: 6px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a.active span:after {
  bottom: -10px;
  opacity: 1;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_mainarea_nv ul li a.active span:after {
      bottom: -6px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block {
  border-bottom: solid 2px #423730;
  padding: 35px 65px 35px 0;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block {
      padding-right: 45px;
    }
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block {
      padding-right: 25px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block {
      padding-left: 30px;
      padding-right: 30px;
      border-bottom: none;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block:nth-child(even) {
      background-color: #423730;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block {
      padding-left: 20px;
      padding-right: 20px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block:nth-last-of-type(1) {
  border-bottom: none;
  padding-bottom: 200px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 {
  letter-spacing: 2px;
  display: flex;
  align-items: flex-start;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 {
      flex-direction: column;
      letter-spacing: 0px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span {
  font-weight: 600;
  display: inline-block;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_num {
  font-size: 30px;
  margin-right: 10px;
  width: 3.3em;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_num {
      display: block;
      font-size: 26px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_num span {
  font-size: 20px;
  margin-left: 2px;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_num span {
      font-size: 16px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile {
  font-size: 20px;
  padding-top: 6px;
  padding-left: 16px;
  line-height: 1.6;
  flex: 1;
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile {
      padding-top: 8px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile:before {
  content: " / ";
  position: absolute;
  margin-left: -17px;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile {
      padding-top: 10px;
      padding-left: 0px;
      font-size: 16px;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile:before {
      content: " / ";
      position: static;
      margin-left: 0px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile {
      padding-top: 0px;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block h2 span.satow_year_profile:before {
      content: none;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp {
  display: flex;
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp {
      flex-direction: column;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_word {
  flex: 1;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_photo {
  width: 360px;
  margin-left: 25px;
  position: relative;
  padding-top: 18px;
  align-self: start;
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_photo {
      width: 280px;
    }
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_photo {
      padding-top: 24px;
      margin-left: auto;
      margin-right: auto;
      width: auto;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_photo img {
  width: 100%;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_wp .satow_profile_photo span {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  padding: 6px 10px;
  font-size: 11px;
  background-color: rgba(60, 48, 40, 0.85);
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset {
  overflow: hidden;
  padding-top: 24px;
  padding-bottom: 16px;
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset {
      display: flex;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset {
      flex-direction: column;
    }
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div {
      width: calc((100% / 2) - 10px);
      margin-right: 0 !important;
    }
}

@media only screen and (max-width: 1300px) and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div {
      width: calc((100% / 1) - 0px);
    }
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div:nth-child(1) {
      margin-right: 0px;
    }
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div:nth-child(2) {
      margin-left: 20px;
    }
}

@media only screen and (max-width: 1300px) and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div:nth-child(2) {
      margin-left: 0px;
    }
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset.satow_house div img {
      width: calc(100% - 0px);
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div {
  position: relative;
  margin-right: 20px;
  float: left;
}

@media only screen and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div {
      float: none;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div {
      margin: 0;
      text-align: center;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div:nth-child(2) {
  margin-right: 0px;
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div:nth-child(2) {
      padding-top: 20px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div img {
  width: 100%;
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div img {
      margin: 0 auto;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_photoset div span {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  padding: 6px 10px;
  font-size: 11px;
  background-color: rgba(60, 48, 40, 0.85);
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery {
  display: flex;
  margin: 0 -15px;
  padding-top: 18px;
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery {
      margin: 0 -10px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery {
      margin: 0 0px;
      padding-top: 0px;
      flex-direction: column;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col {
  padding: 0 15px;
  width: calc(100% / 2);
}

@media only screen and (max-width: 1200px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col {
      padding: 0 10px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col {
      padding: 14px 0px 0;
      width: calc(100% / 1);
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col div {
  position: relative;
  align-self: start;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col div img {
  width: 100%;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block .satow_profile_gallery .satow_profile_col div span {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  padding: 6px 10px;
  font-size: 11px;
  background-color: rgba(60, 48, 40, 0.85);
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block ul, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
  padding: 12px 0 0;
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block ul, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
      padding: 6px 0 0;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block ul li {
  font-weight: 400;
  padding-bottom: 4px;
  line-height: 2;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block ul li {
      line-height: 1.6;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block li, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
  font-size: 16px;
  letter-spacing: 0px;
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block li, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
      font-size: 15px;
      letter-spacing: 0px;
    }
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block li, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
      font-size: 14px;
      letter-spacing: 0px;
    }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block li, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
      font-size: 14px;
      letter-spacing: 0px;
    }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block li, #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
      font-size: 14px;
      letter-spacing: 0px;
    }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_profile #satow_profile_group .satow_profile_block p {
  font-weight: 400;
  line-height: 2;
}

/* =============================================
   佐藤武夫ギャラリー：RN後 最小限の追加CSS
   既存CSSの文字サイズ・余白・配置は上書きしない
============================================= */

/* WPテーマ側の .container / px-basic の影響を外す */
.satow-section {
  padding-right: 0;
  padding-left: 0;
}

.satow-section > .container {
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

/* ギャラリーエリアを横いっぱいにする */
#satow_area {
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
}

/* RN後のコンテンツ幅のみ設定 */
#satow_area #satow_area_inner {
  width: calc(100% - 168px);
  max-width: 1432px;
  margin-right: auto;
  margin-left: auto;
}

/* FontAwesomeに依存しない下向き三角 */
#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
#satow_mainarea_nv ul li a span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;

  width: 9px;
  height: 5px;
  background-color: #fff;

  clip-path: polygon(
    4% 0,
    96% 0,
    100% 8%,
    58% 94%,
    50% 100%,
    42% 94%,
    0 8%
  );

  transform: translateX(-50%);
  opacity: 0;
  transition-duration: 0.5s;
  pointer-events: none;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
#satow_mainarea_nv ul li a.active span::after {
  opacity: 1;
}

@media only screen and (max-width: 1279px) {
  #satow_area #satow_area_inner {
    width: calc(100% - 120px);
  }
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner {
    width: calc(100% - 60px);
    max-width: none;
  }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner {
    width: 100%;
    max-width: none;
  }
}

/* =============================================
   パース：drawing
============================================= */

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing {
  padding-top: 0;
  padding-bottom: 80px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
#satow_drawing #satow_drawing_prologue,
#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
#satow_drawing .satow_drawing_group {
  padding-right: 65px;
  border-bottom: solid 2px #423730;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue,
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group {
    padding-right: 45px;
  }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue,
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group {
    padding-left: 30px;
    padding-right: 30px;
    border-bottom: none;
  }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue,
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group {
    padding-left: 20px;
    padding-right: 20px;
  }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue {
  padding-top: 30px;
  padding-bottom: 30px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue p {
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
}

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing #satow_drawing_prologue p {
    line-height: 1.8;
  }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group {
  padding-top: 40px;
  padding-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group:nth-child(even) {
    background-color: #423730;
  }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group:last-of-type {
  border: none;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group h2 {
  font-size: 30px;
  margin-right: 10px;
  letter-spacing: 2px;
  padding-bottom: 12px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group h2 span {
  font-size: 20px;
  margin-left: 2px;
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group h2 {
    display: block;
    font-size: 26px;
  }

  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group h2 span {
    font-size: 16px;
  }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  row-gap: 30px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block {
  width: auto;
  padding: 0;
  margin: 0;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a {
  display: block;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a .satow_drawing_photo {
  overflow: hidden;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a .satow_drawing_photo img {
  display: block;
  width: 100%;
  height: auto;
  transition-duration: 0.5s;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a .satow_drawing_word {
  padding-top: 6px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a .satow_drawing_word span {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_drawing .satow_drawing_group .satow_drawing_gallery .satow_drawing_block a:hover .satow_drawing_photo img {
  transform: scale(1.1);
  opacity: 1;
}

/* =============================================
   作品集：portfolio
============================================= */

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group {
  padding-right: 65px;
  padding-top: 45px;
  padding-bottom: 120px;
}

@media only screen and (max-width: 1439px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group {
    padding-right: 45px;
  }
}

@media only screen and (max-width: 767px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group {
    padding-left: 30px;
    padding-right: 30px;
    border-bottom: none;
  }
}

@media only screen and (max-width: 480px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group {
    padding-left: 20px;
    padding-right: 20px;
  }
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  row-gap: 30px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block {
  width: auto;
  padding: 0;
  margin: 0;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a {
  display: block;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a .satow_portfolio_photo {
  overflow: hidden;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a .satow_portfolio_photo img {
  display: block;
  width: 100%;
  height: auto;
  transition-duration: 0.5s;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a .satow_portfolio_word {
  padding-top: 6px;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a .satow_portfolio_word span {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery .satow_portfolio_block a:hover .satow_portfolio_photo img {
  transform: scale(1.1);
  opacity: 1;
}

/* =============================================
   パース・作品集共通
============================================= */

@media only screen and (max-width: 1023px) {
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
  #satow_drawing .satow_drawing_group .satow_drawing_gallery,
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
  #satow_portfolio #satow_portfolio_group .satow_portfolio_gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 25px;
  }
}

/* =============================================
   HTMLは変更せず、PCのみセクション内で人物画像を追従
============================================= */

@media only screen and (min-width: 1024px) {
  /* stickyが効くように、PCでは親のoverflowを解除 */
  #satow_area {
    overflow-x: clip;
    overflow-y: visible;
  }

  /*
    既存HTMLのまま、
    1行目：タイトル
    2行目：左に人物画像 / 右に本文
    の配置にする
  */
  #satow_area #satow_area_inner {
    display: grid;
    grid-template-columns: 560px minmax(0, 1fr);
    column-gap: 56px;
    align-items: start;
  }

  /* タイトルは左右カラムをまたいで全体中央に置く */
  #satow_area #satow_area_inner #satow_area_title {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  /*
    人物画像
    position: fixed を上書きして、セクション内だけsticky追従にする
  */
  #satow_area #satow_area_inner #satow_portrait {
    position: sticky;
    top: 0;
    left: auto;
    grid-column: 1;
    grid-row: 2;
    width: 560px;
    height: 100vh;
    min-height: 100vh;

    /*
      小さく見える原因になっていた 560px auto を上書き。
      元CSSに近い見え方へ戻す。
    */
    background-size: 1200px auto;
    background-position: top left;
    background-repeat: no-repeat;
    background-color: transparent;

    z-index: 1;
    pointer-events: none;
  }

  /* 右側本文エリア */
  #satow_area #satow_area_inner #satow_mainarea {
    grid-column: 2;
    grid-row: 2;
    display: block;
    position: relative;
    z-index: 2;
  }

  /* 既存の幅指定を解除して、右カラムいっぱいを使う */
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
    width: 100%;
    max-width: 820px;
  }
}

@media only screen and (min-width: 1280px) and (max-width: 1399px) {
  #satow_area #satow_area_inner {
    grid-template-columns: 480px minmax(0, 1fr);
    column-gap: 40px;
  }

  #satow_area #satow_area_inner #satow_portrait {
    width: 480px;
  }
}

/* =============================================
   画面幅ごとの人物画像サイズ調整
   既存の「デバイス幅で画像サイズを変える」意図を維持
============================================= */

@media only screen and (min-width: 1401px) and (max-width: 1500px) {
  #satow_area #satow_area_inner #satow_portrait {
    background-size: 1150px auto;
  }
}

@media only screen and (min-width: 1301px) and (max-width: 1400px) {
  #satow_area #satow_area_inner #satow_portrait {
    background-size: 1100px auto;
    background-position: top left -50px;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  #satow_area #satow_area_inner #satow_portrait {
    background-size: 1000px auto;
  }
}

/* =============================================
   1279px以下のRN後上書き補正
============================================= */

@media only screen and (min-width: 1024px) and (max-width: 1279px) {
  #satow_area #satow_area_inner {
    grid-template-columns: 400px minmax(0, 1fr);
    column-gap: 40px;
  }

  #satow_area #satow_area_inner #satow_portrait {
    left: auto;
    width: 400px;
    background-size: 1000px auto;
  }

  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
    max-width: 780px;
  }
}

/* =============================================
   佐藤武夫ギャラリー：人物画像の開始位置のみ調整
   画像サイズは元の大きさを維持
============================================= */

@media only screen and (min-width: 1024px) {
  /*
    人物画像をタイトル行から開始させる。
    タブ位置ではなく、セクション上端基準にする。
  */
  #satow_area #satow_area_inner #satow_portrait {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;

    position: sticky;
    top: 0;

    /*
      画像サイズは元の設定に戻す
    */
    width: 560px;
    height: 100vh;
    min-height: 100vh;
    background-size: 1200px auto;
    background-position: top left;
    background-repeat: no-repeat;
    background-color: transparent;

    /*
      背景として下に敷く
    */
    z-index: 1;
    pointer-events: none;
  }

  /*
    タイトル・本文は人物画像より前面
  */
  #satow_area #satow_area_inner #satow_area_title,
  #satow_area #satow_area_inner #satow_mainarea,
  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
    position: relative;
    z-index: 3;
  }
}

/* =============================================
   fancybox：SP操作UI表示補正
============================================= */

.fancybox-container {
  z-index: 999999 !important;
}

.fancybox-toolbar,
.fancybox-navigation,
.fancybox-infobar,
.fancybox-button {
  z-index: 1000000 !important;
}

.fancybox-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.fancybox-navigation .fancybox-button {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media only screen and (max-width: 767px) {
  .fancybox-toolbar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .fancybox-navigation .fancybox-button--arrow_left,
  .fancybox-navigation .fancybox-button--arrow_right {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .fancybox-navigation .fancybox-button--arrow_left {
    left: 8px;
  }

  .fancybox-navigation .fancybox-button--arrow_right {
    right: 8px;
  }
}

/* =============================================
   佐藤武夫ギャラリー：TBサイズでもsticky追従
   768px〜1023px
============================================= */

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  /*
    stickyを効かせるため、TBでもoverflowはvisibleにする
  */
  #satow_area {
    overflow-x: clip;
    overflow-y: visible;
  }

  /*
    TBでもPCと同じ考え方で2カラム化する
    1行目：タイトル
    2行目：左に人物画像 / 右にタブ・本文
  */
  #satow_area #satow_area_inner {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    column-gap: 32px;
    align-items: start;
  }

  /*
    タイトルは全体幅の中央に置く
  */
  #satow_area #satow_area_inner #satow_area_title {
    grid-column: 1 / -1;
    grid-row: 1;
    position: relative;
  }

  /*
    人物画像をセクション上端から開始し、stickyで追従
  */
  #satow_area #satow_area_inner #satow_portrait {
    position: sticky;
    top: 0;
    left: auto;

    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;

    width: calc(100vw - 30px);
    height: 100vh;
    min-height: 100vh;

    background-image: url(../images/satowtakeo/satowtakeo_profile.jpg);
    background-repeat: no-repeat;
    background-size: 800px auto;
    background-position: top left;
    background-color: transparent;

    z-index: 1;
    pointer-events: none;
  }

  /*
    右側コンテンツ
  */
  #satow_area #satow_area_inner #satow_mainarea {
    grid-column: 2;
    grid-row: 2;
    display: block;
    position: relative;
    z-index: 3;
  }

  #satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner {
    width: 100%;
    max-width: none;
  }
}

/*                modal
======================================================= */
/*	modal
===============================================*/
#satow .modal, #portfolio .modal, #drawing .modal {
  background-color: rgba(60, 48, 40, 0.9) !important;
}
@media only screen and (max-width: 1023px) {
  #satow .modal .modal_close, #portfolio .modal .modal_close, #drawing .modal .modal_close {
    background-color: #000 !important;
  }
}

.modal {
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
  overflow-y: auto;
  padding: 0px 0 0px !important;
  background-color: rgba(165, 174, 180, 0.9);
  /*modal_close*/
}
.modal .modal_fullarea_bg {
  height: 100%;
  position: absolute;
  width: 100%;
}
.modal .modal_close {
  position: fixed;
  top: 20px;
  right: 40px;
  display: block;
  cursor: pointer;
  content: "";
  width: 40px;
  height: 40px;
  padding: 0;
}
@media only screen and (max-width: 1023px) {
  .modal .modal_close {
    background-color: #a5aeb4;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    padding: 10px;
    z-index: 9999;
  }
}
.modal .modal_close span {
  background-color: #fff;
  width: 50px;
  height: 2px;
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  right: -5px;
}
@media only screen and (max-width: 1023px) {
  .modal .modal_close span {
    top: 28px;
    right: 3px;
  }
}
.modal .modal_close span:nth-child(1) {
  transform: rotate(-135deg);
}
.modal .modal_close span:nth-child(2) {
  transform: rotate(135deg);
}
.modal .modal_fullarea {
  padding: 0px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
  height: 100%;
}
@media only screen and (max-width: 550px) {
  .modal .modal_fullarea {
    width: calc(100% - 40px);
  }
}
.modal .modal_fullarea .modal_fullarea_inner {
  padding: 50px 0px 50px;
  z-index: 100;
  position: relative;
}
@media only screen and (max-width: 550px) {
  .modal .modal_fullarea .modal_fullarea_inner {
    padding: 50px 0px 50px;
  }
}
.modal .modal_fullarea.modal_onetime {
  width: 700px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_onetime {
    width: calc(100% - 40px);
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner {
  background-color: #fff;
  padding: 40px 40px 50px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner {
    padding: 20px 20px 30px;
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_title {
  background-color: #343434;
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_title span {
  text-align: center;
  font-family: "Josefin Sans", "serif";
  font-size: 18px;
  font-weight: 600;
  padding: 10px;
  padding: 10px 10px 6px;
  display: block;
  color: #fff;
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_mv img {
  width: 100%;
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
  font-size: 17px;
  letter-spacing: 1px;
  font-weight: 600;
  padding: 20px 0 14px;
  line-height: 1.7;
}
@media only screen and (max-width: 1279px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 17px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 950px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner h3 {
    font-size: 14px;
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp {
    flex-direction: column;
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word {
  flex: 1;
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word p {
  font-size: 14px;
  letter-spacing: 0px;
}
@media only screen and (max-width: 1279px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word p {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word p {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 768px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word p {
    font-size: 13px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_word p {
    font-size: 12px;
    letter-spacing: 0px;
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_photo {
  width: 280px;
  margin-left: 35px;
  padding-top: 6px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_photo {
    margin-left: 0px;
    width: 100%;
    padding-top: 18px;
  }
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_photo img {
  width: 100%;
  margin-bottom: 12px;
}
.modal .modal_fullarea.modal_onetime .modal_onetime_inner .modal_onetime_wp .modal_onetime_photo span {
  font-size: 12px;
  display: block;
  text-align: center;
}
.modal .modal_fullarea.modal_project_search {
  width: 500px;
  top: 50%;
}
@media only screen and (max-width: 640px) {
  .modal .modal_fullarea.modal_project_search {
    width: calc(100% - 40px);
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner {
  margin-top: 15%;
  background-color: #fff;
  padding: 40px 40px 50px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner {
    padding: 20px 20px 30px;
  }
}
@media only screen and (max-width: 640px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner {
    margin-top: 0%;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner h2 {
  font-size: 24px;
  font-weight: 600;
  color: #a5aeb4;
  text-align: center;
  margin-bottom: 25px;
}
@media only screen and (max-width: 550px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner h2 {
    margin-bottom: 12px;
    font-size: 16px;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form {
  /*modal_project_select*/
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl {
  display: flex;
  padding: 14px 26px;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl:nth-child(even) {
  background-color: #f1f3f3;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl:nth-child(odd) {
  background-color: #e4e7e8;
}
@media only screen and (max-width: 550px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl {
    padding: 14px 14px;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dt {
  line-height: 48px;
  width: 6em;
}
@media only screen and (max-width: 1200px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dt {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dt {
    width: 5em;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dd {
  flex: 1;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dd select {
  height: 48px;
  width: 100%;
}
@media only screen and (max-width: 1200px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dd select {
    font-size: 14px;
    background-position: right 10px center;
  }
}
@media only screen and (max-width: 1023px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .modal_project_select dl dd select {
    font-size: 12px;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form p {
  font-size: 12px;
  padding: 24px 0 24px;
}
@media only screen and (max-width: 550px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form p {
    padding: 12px 0 12px;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn {
  width: 180px;
  background-color: #e4e7e8;
  font-weight: 600;
  color: #666666;
  position: relative;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin: 0 auto;
  transition-duration: 0.5s;
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn {
    width: 100%;
  }
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #a5aeb4;
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn:after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 6px;
  height: 6px;
  background-color: #a5aeb4;
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn:hover {
  color: #fff;
  background-color: #a5aeb4;
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn:hover:before {
  background-color: #cf152f;
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_project_search .modal_project_search_inner form .project_search_btn:hover:after {
  background-color: #cf152f;
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_satow {
  width: 700px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_satow {
    width: calc(100% - 40px);
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner {
  background-color: #fff;
  padding: 40px 40px 50px;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner {
    padding: 20px 20px 30px;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner h2, .modal .modal_fullarea.modal_satow .modal_satow_inner h3, .modal .modal_fullarea.modal_satow .modal_satow_inner p, .modal .modal_fullarea.modal_satow .modal_satow_inner ul, .modal .modal_fullarea.modal_satow .modal_satow_inner li, .modal .modal_fullarea.modal_satow .modal_satow_inner span, .modal .modal_fullarea.modal_satow .modal_satow_inner dl, .modal .modal_fullarea.modal_satow .modal_satow_inner dt, .modal .modal_fullarea.modal_satow .modal_satow_inner dd {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_title {
  background-color: #3c3028;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_title h2 {
  text-align: center;
  font-family: "Josefin Sans", "serif";
  font-size: 18px;
  font-weight: 600;
  padding: 10px;
  padding: 10px 10px 9px;
  display: block;
  color: #fff;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_mv {
  margin-bottom: 40px;
  margin-top: -1px;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_mv .modal_satow_mv_slide img {
  width: 100%;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_mv ul.slick-dots {
  bottom: -44px;
  display: flex;
  justify-content: center;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_mv ul.slick-dots li button:before {
  background-color: #3c3028;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_mv ul.slick-dots li.slick-active button:before {
  background-color: #cf152f;
  margin-left: -5px;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
  font-size: 17px;
  letter-spacing: 1px;
  font-weight: 600;
  padding: 20px 0 10px;
  line-height: 1.7;
  letter-spacing: 0;
}
@media only screen and (max-width: 1279px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 17px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 950px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word h3 {
    font-size: 14px;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
  font-size: 14px;
  letter-spacing: 0px;
}
@media only screen and (max-width: 1279px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 768px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
    font-size: 13px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
    font-size: 12px;
    letter-spacing: 0px;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline {
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #e5e5e5;
  margin-top: 26px;
  padding-top: 32px;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
  width: calc(100% / 2);
  padding-right: 30px;
  padding-bottom: 12px;
  display: flex;
  font-size: 14px;
  letter-spacing: 0px;
}
@media only screen and (max-width: 1279px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 1024px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
    font-size: 14px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 768px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
    font-size: 13px;
    letter-spacing: 0px;
  }
}
@media only screen and (max-width: 480px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
    font-size: 12px;
    letter-spacing: 0px;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl:nth-child(even) {
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl {
    width: calc(100% / 1);
    padding-right: 0;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl dt {
  width: 5em;
}
@media only screen and (max-width: 767px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl dt {
    width: 6em;
  }
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl dd {
  flex: 1;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl dd a {
  transition-duration: 0.5s;
}
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl dd a:hover {
  color: #cf152f;
  transition-duration: 0.5s;
}

/* モーダル本文・概要欄を現行の太さへ合わせる */
.modal.modal--satow .modal_satow_word p,
.modal.modal--satow .modal_satow_outline dl,
.modal.modal--satow .modal_satow_outline dt,
.modal.modal--satow .modal_satow_outline dd,
.modal.modal--satow .modal_satow_outline a {
  font-weight: 500;
}

/* =============================================
   佐藤武夫ギャラリー：モーダル表示補正
============================================= */

/* モーダル全体の背景色を茶色に統一 */
.modal.modal--satow {
  background-color: rgba(60, 48, 40, 0.9) !important;
}

/*
  背景クリック用要素に付いている黒背景を解除。
  親 .modal.modal--satow の茶色背景を見せる。
*/
.modal.modal--satow .modal_fullarea_bg {
  background-color: transparent !important;
}

/*
  上下の余白は透明にし、
  白背景は .modal_satow_inner のみに限定する。
*/
.modal.modal--satow .modal_fullarea,
.modal.modal--satow .modal_fullarea_inner {
  background-color: transparent !important;
}

.modal.modal--satow .modal_fullarea {
  width: 700px;
  max-width: calc(100% - 40px);
  margin: 0 auto;
}

.modal.modal--satow .modal_fullarea_inner {
  padding: 50px 0;
}

.modal.modal--satow .modal_satow_inner {
  background-color: #fff;
}

/*
  閉じるボタンはビューポート基準で配置。
  画面幅が狭くなっても外へはみ出さないよう、
  right を clamp() で制限する。
*/
.modal.modal--satow .modal_close {
  position: fixed;
  top: 20px;
  right: clamp(16px, 2.5vw, 40px);
  left: auto;
  z-index: 10002;
  width: 40px;
  height: 40px;
  padding: 0;
  background-color: transparent !important;
  box-sizing: border-box;
}

.modal.modal--satow .modal_close span {
  top: 20px;
  right: -5px;
  left: auto;
  width: 50px;
  height: 2px;
}

@media only screen and (max-width: 767px) {
  .modal.modal--satow .modal_fullarea_inner {
    padding: 50px 0;
  }
}

/* 現行common.cssの影響を佐藤武夫エリア内で補完 */

/* タブ文字 */
#satow_area #satow_area_inner #satow_mainarea #satow_mainarea_inner
#satow_mainarea_nv ul li a span {
  line-height: 1.8;
}

/* モーダル本文 */
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
  line-height: 2;
}

@media only screen and (max-width: 1023px) {
  .modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_word p {
    line-height: 1.8;
  }
}

/* モーダル概要 */
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dl,
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dt,
.modal .modal_fullarea.modal_satow .modal_satow_inner .modal_satow_outline dd {
  line-height: 1.8;
}

/* 画像の基本指定 */
#satow_area img,
.modal.modal--satow img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* Grid・Flexの縮小許可 */
#satow_area #satow_area_inner,
#satow_area #satow_mainarea,
#satow_area #satow_mainarea_inner,
#satow_area .satow_profile_word,
#satow_area .satow_drawing_block,
#satow_area .satow_portfolio_block,
.modal.modal--satow .modal_satow_word {
  min-width: 0;
  min-height: 0;
}

/* 日本語・長い文字列の折り返し */
#satow_area,
.modal.modal--satow {
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* 1023px以下：閉じるボタンを黒背景にする */
@media only screen and (max-width: 1023px) {
  .modal.modal--satow .modal_close {
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    padding: 10px;
    background-color: #000 !important;
  }

  .modal.modal--satow .modal_close span {
    top: 28px;
    right: 3px;
    width: 50px;
    height: 2px;
  }
}