@charset "UTF-8";
@import url(reset.css);
/*******************************
*/
/*  COMMON
*/
/*******************************/
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  width: 100%;
  min-width: 1200px;
}

body {
  line-height: 1.0;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ　Pro W3", "Hiragino Kaku Gothic Pro", "MS ゴシック", "Osaka", sans-serif;
  font-size: 1.4em;
  /*background: url(../images/bg_body.png);*/
}

img {
  max-width: 100%;
}

/**********************************************************
*/
/*  header
*/
/**********************************************************/
header {
  width: 1200px;
  margin: auto;
  display: flex;
  align-items: center;
  padding: 20px 0;
}

/***********************************************************
*/
/*  main
*/
/***********************************************************/
main {
  width: 1200px;
  margin: auto;
  padding-bottom: 80px;
}

.main-visual {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 8rem;
  position: relative;
}

.main-visual img {
  width: 100%;
}

.catch-copy {
  position: absolute;
  top: 1em;
  text-align: center;
  font-size: 3em;
  font-style: italic;
  letter-spacing: .2em;
}

.profile {
  width: 20%;
  padding: 4rem 2rem;
  margin-top: -4rem;
  position: relative; 
}

.profile::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0; 
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  transform: translateY(-100%);
  border: 2rem solid transparent;
  border-bottom: 2rem solid #000;
}

.profile + .profile {
  margin-left: 1%;
}

.profile.first-person {
  background: #01D192;
}

.profile.first-person::before {
  border-bottom-color: #01D192;
}

.profile.second-person {
  background: #14AAFF;
}

.profile.second-person::before {
  border-bottom-color: #14AAFF;
}

.profile.third-person {
  background: #FF61A0;
}

.profile.third-person::before {
  border-bottom-color: #FF61A0;
}

.profile.fourth-person {
  background: #FFBE00;
}

.profile.fourth-person::before {
  border-bottom-color: #FFBE00;
}

.profile .name {
  color: #fff;
  text-align: center;
  font-size: 2em;
}

.profile .name span {
  display: block;
  font-size: 1.4rem;
  margin-top: 1em;
  line-height: 1.2;
}

.profile .desc {
  line-height: 1.4;
}

section {
  width: 1000px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  counter-increment: num;
}

section + section {
  margin-top: 6rem;
}

section:nth-of-type(even) {
  flex-direction: row-reverse;
}

section h2 {
  display: flex;
  width: 100%;
  margin-bottom: 2em;
  background: #eee;
  position: relative;
  padding: 1em 1em 1em 4em;
}

section h2::before {
  content: "Q" counter(num);
  position: absolute;
  top: 0;
  left: 0;
  width: 3em;
  height: 100%;
  line-height: 3em;
  display: block;
  color: #fff;
  background:　#333;
  text-align: center;
} 

section > img {
  width: 30%;
}

.talk-area {
  width: 68%;
}

.talk-box {
  display: flex;
}

.talk-box + .talk-box .face {
  margin-top: 4rem;
}

.talk-box + .talk-box .talk-content {
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid #ccc; 
}

.face {
  flex: 0 0 8rem;
  align-self: flex-start;
  margin-right: 1rem;
  position: relative;
}

.face.first-person {
  color: #01D192;
}

.face.first-person img {
  border-color: #01D192;
}

.face.second-porson {
  color: #14AAFF;
}

.face.second-porson img {
  border-color: #14AAFF;
}

.face.third-person {
  color: #FF61A0;
}

.face.third-person img {
  border-color: #FF61A0;
}

.face.fourth-person {
  color: #FFBE00;
}

.face.fourth-person img {
  border-color: #FFBE00;
}

.face figcaption {
  position: absolute;
  bottom: -2em;
  left: 50%;
  width: max-content;
  transform: translateX(-50%);
}

.face img {
  border-radius: 50%;
  border: 4px solid;
}

.talk-content {
  flex-grow: 1;
  line-height: 1.6;
}

.fin-img {
  display: block;
  margin: 8rem auto 0;
}

/********************************************************
*/
/*  footer
*/
/********************************************************/
footer {
  background: #231815;
  color: #fff;
  text-align: center;
}

footer small {
  display: block;
  padding: 1em 0;
}