#pageHeader .top {
  background-image: url("../../img/commitment/commitment_top_image.jpg"); }
#pageHeader .bottom {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../img/top/top_quarity_wall.jpg");
  background-size: cover;
  position: relative;
  overflow: hidden; }
  #pageHeader .bottom .tree {
    position: absolute;
    top: 0;
    width: auto;
    height: 100%; }
    #pageHeader .bottom .tree._left {
      left: 0; }
    #pageHeader .bottom .tree._right {
      right: 0; }
  #pageHeader .bottom .ph_base {
    height: 25em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 1; }
    #pageHeader .bottom .ph_base .icon {
      width: 5.75em;
      margin-bottom: 1em; }
    #pageHeader .bottom .ph_base h1 {
      font-size: 1.625em;
      font-weight: bold;
      margin-bottom: 1em; }
    #pageHeader .bottom .ph_base .descript {
      font-size: 1.3125em;
      line-height: 1.75;
      letter-spacing: 0.020em; }
@media screen and (max-width: 781px) {
  #pageHeader .top {
    background-image: url("../../img/commitment/commitment_top_image_sp.jpg"); }
  #pageHeader .bottom {
    background-image: url("../../img/commitment/commitment_top_image_bg_sp.jpg"); }
    #pageHeader .bottom .ph_base {
      height: 12.5em; }
      #pageHeader .bottom .ph_base .icon {
        width: 3.42588125em;
        margin-bottom: 0.5em; }
      #pageHeader .bottom .ph_base h1 {
        font-size: 1.0625em;
        margin-bottom: 0.75em; }
      #pageHeader .bottom .ph_base .descript {
        font-size: 0.9375em; } }

#main .part:not(:last-child) {
  border-bottom: 1px solid #888888;
  padding-bottom: 5em;
  margin-bottom: 5.5em; }
#main .part > ._left,
#main .part > ._right {
  flex-basis: 47.2727272727%; }
#main .part > ._left {
  order: 1; }
#main .part > ._right {
  order: 2; }
#main .part .photo {
  line-height: 0; }
#main .part .txt {
  line-height: 1.75; }
  #main .part .txt h3 {
    font-size: 1.4375em;
    line-height: 1.75;
    font-weight: bold;
    margin-bottom: 1em;
    white-space: nowrap; }
  #main .part .txt .youtube {
    position: relative; }
    #main .part .txt .youtube::before {
      content: "";
      display: block;
      padding-top: 56.25%; }
    #main .part .txt .youtube iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
#main .p06 .layout ._left {
  width: 0;
  flex-grow: 1; }
#main .p06 .layout .whitesan {
  margin-left: 0.9375em;
  width: 12.5em; }
@media screen and (max-width: 781px) {
  #main .part:not(:last-child) {
    padding-bottom: 1.5625em;
    margin-bottom: 1.5625em; }
  #main .part > .txt {
    margin-bottom: 1.5625em; }
  #main .part .txt h3 {
    font-size: 1.125em;
    line-height: 1.6666666667; }
  #main .p06 .txt._right {
    position: relative;
    margin-bottom: 0; }
    #main .p06 .txt._right .whitesan {
      margin-left: 0;
      position: absolute;
      top: 0;
      right: 0;
      width: 6.875em; } }
