/*-------------------------------
---.section
-------------------------------*/

.section {
  position: relative;
  overflow: hidden;
}

.section .page_title {
  position: relative;
  z-index: 0;
  width: max(35rem, 52%);
  margin-top: max(-21rem, -22.5%);
  margin-left: max(-12.5rem, -15%);
}

.section .page_title:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.section .page_title::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #94CEE5;
}

.section .page_title img {
  position: absolute;
  top: 52%;
  left: 33.3%;
  width: 48.5%;
}


/*-------------------------------
---.standards
-------------------------------*/

.standards {
  position: inherit;
  z-index: var(--z-index-low);
  display: grid;
  grid-template-columns: minmax(auto, 88rem);
  grid-auto-rows: max-content;
  justify-content: center;
  grid-gap: 5rem;
  margin: max(-19rem, -20%) auto 4.5%;
}

.standards .standard {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
  grid-gap: 3rem;
}

.standards .middle_contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: max-content;
  grid-gap: min(5vw, 7rem) 5.75%;
}

.standards .middle_contents .standard .contents_wrap {
  display: grid;
  grid-template-columns: 2.1fr 1.58fr;
  grid-auto-rows: max-content;
  grid-gap: 7.5%;
}

.standards .standard .standard_title {
  position: relative;
}

.standards .standard .standard_title::after {
  content: '';
  display: block;
  background-color: #FBCE00;
}

.standards .standard.wide .standard_title::after {
  height: 1.75rem;
  margin-top: -1rem;
}

.standards .standard:not(.wide) .standard_title::after {
  height: 1.1rem;
  margin-top: -0.65rem;
}

.standards .standard .standard_title img {
  width: auto;
  margin-left: 1.5rem;
}

.standards .standard.wide .standard_title img {
  max-height: 7rem;
}

.standards .standard:not(.wide) .standard_title img {
  max-height: 4.5rem;
}

.standards .standard .standard_txt {
  font-weight: 500;
}

.standards .standard.wide .standard_txt {
  padding-left: 1em;
  padding-right: 1em;
}

.standards .standard .standard_txt span {
  font-weight: bold;
}


/*--- hirasta01  ---*/

.standards .standard.hirasta01 .standard_title,
.standards .standard.hirasta01 .standard_txt {
  max-width: 52.5rem;
  margin-left: 37.5%;
}

.standards .standard.hirasta01 .image {
  display: grid;
  grid-template-columns: 3.2fr 2fr 2fr 2fr;
  grid-auto-rows: max-content;
  grid-gap: 0.5rem;
  margin-left: max(-1.5vw, -2rem);
  margin-right: max(-1.5vw, -2rem);
}

.standards .standard.hirasta01 .image .large {
  grid-column: 1/2;
  grid-row: 1/3;
}

.standards .standard.hirasta01 .image .decoration {
  width: 70%;
  margin-top: -8.5%;
  margin-left: auto;
  margin-right: auto;
}

.standards .standard.hirasta01 .image .decoration .character .illustration {
  width: 24.5%;
}

.standards .standard.hirasta01 .image .decoration .character .speech-balloon {
  width: 73.5%;
  margin-top: -35%;
  margin-left: auto;
}


/*--- hirasta02  ---*/

.standards .standard.hirasta02 .decoration .character {
  width: 115%;
  margin-top: -30%;
  margin-left: -2.5%;
}

.standards .standard.hirasta02 .decoration .character .illustration {
  width: 39%;
  margin-top: -42.5%;
}

.standards .standard.hirasta02 .decoration .character .illustration img {
  transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
}

.standards .standard.hirasta02 .decoration .character .speech-balloon {
  width: 67.4%;
  margin-left: auto;
}


/*--- hirasta03  ---*/

.standards .standard.hirasta03 .decoration {
  width: 115%;
  margin-left: -15%;
}

.standards .standard.hirasta03 .decoration .image {
  width: 74%;
  margin-left: auto;
}

.standards .standard.hirasta03 .decoration .character .illustration {
  width: 44.5%;
  margin-top: -45%;
}


/*--- hirasta04  ---*/

.standards .standard.hirasta04 .decoration {
  position: relative;
}

.standards .standard.hirasta04 .decoration .character {
  position: absolute;
  top: -2.5%;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  width: 33.5%;
}


/*--- hirasta05  ---*/

.standards .standard.hirasta05 .decoration {
  order: -1;
  width: 105%;
}

.standards .standard.hirasta05 .decoration .character {
  background-image: url(../image/hiragino-technology/hiragino-standard/illustration_skeleton.svg);
  background-size: 45%;
  background-position: bottom left;
  background-repeat: no-repeat;
}

.standards .standard.hirasta05 .decoration .image {
  width: 57.3%;
  margin-left: auto;
}

.standards .standard.hirasta05 .decoration .character .illustration {
  width: 38.6%;
  margin-top: -9%;
  margin-left: 40%;
}

.standards .standard.hirasta05 .decoration .character .speech-balloon {
  width: 57.3%;
  margin-top: -32%;
}


/*--- hirasta06  ---*/

.standards .standard.hirasta06 .image {
  position: relative;
  padding-bottom: 4.25%;
  padding-left: 9.25%;
  padding-right: 9.25%;
}

.standards .standard.hirasta06 .decoration .character {
  position: absolute;
}

.standards .standard.hirasta06 .decoration .character.pipe {
  width: 21%;
  top: 5.75%;
  left: -0.5%;
}

.standards .standard.hirasta06 .decoration .character.pipe .illustration {
  width: 74.5%;
  margin-left: auto;
}

.standards .standard.hirasta06 .decoration .character.pipe .speech-balloon {
  width: 70.2%;
  margin-top: -15%;
}

.standards .standard.hirasta06 .decoration .character.lupe {
  width: 25.8%;
  right: 0;
  bottom: 0;
}

.standards .standard.hirasta06 .decoration .character.lupe .illustration {
  width: 100%;
  margin-top: -8%;
}

.standards .standard.hirasta06 .decoration .character.lupe .speech-balloon {
  width: 53.8%;
  margin-left: 24%;
}


/*--- hirasta07  ---*/

.standards .standard.hirasta07 .contents_wrap {
  display: grid;
  grid-template-columns: 2.9fr 1.05fr;
  grid-auto-rows: max-content;
  grid-gap: 6%;
  padding-left: 1em;
  padding-right: 1em;
}

.standards .standard.hirasta07 .standard_txt {
  padding-left: 0;
  padding-right: 0;
}

.standards .standard.hirasta07 .contents_wrap .decoration .image {
  width: 62.6%;
  margin-left: auto;
}

.standards .standard.hirasta07 .contents_wrap .decoration .character .illustration {
  width: 95.8%;
  margin-top: -37%;
}

.standards .standard.hirasta07 .flowchart {
  display: grid;
  grid-template-columns: 1fr 11.6fr;
}

.standards .standard.hirasta07 .flowchart .decoration {
  position: relative;
}

.standards .standard.hirasta07 .flowchart .decoration .illustration {
  position: absolute;
  top: -18.5%;
  right: -40.5%;
  z-index: var(--z-index-low);
  width: 125%;
}
