/*****************************************************************************
CSS only for profile page
*****************************************************************************/

/* Greeting
-----------------------------------------*/
.Container {
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .Container {
    margin: 0 20px;
  }
}
.BgGray {
  background-color: #F8F9F9;
}

/* Greeting
-----------------------------------------*/
.Greeting {
  background: url(/phs/profile/assets/img/bg_greeting_pc.jpg) no-repeat top left / cover;
  padding: 102px 0 127px;
  margin-top: 86px;
}
@media screen and (max-width: 600px) {
  .Greeting {
    background: url(/phs/profile/assets/img/bg_greeting_sp.jpg) no-repeat top left / cover;
    padding: 102px 0 87px;
  }
}
.Greeting__wrapper {
  padding: 0 75px;
  margin-top: 99px;
}
@media screen and (max-width: 600px) {
  .Greeting__wrapper {
    padding: 0;
    margin-top: 86px;
  }
}
.Greeting__intro {
  font-size: 22px;
  line-height: 1.6;
}
.Greeting__text {
  margin-top: 32px;
}
@media screen and (max-width: 600px) {
  .Greeting__text {
    margin-top: 35px;
  }
}
.Greeting__text > p {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.5px;
  margin-bottom: 1.2em;
}
@media screen and (max-width: 600px) {
  .Greeting__text > p {
    line-height: 1.875;
  }
}
.Greeting__text sub {
  font-size: 12px;
  vertical-align: baseline;
}
.Greeting__date {
  /* text-align: right; */
  margin-top: 2em;
}
.Greeting__text > *:last-child {
  margin-bottom: 0;
}
.President {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  margin-top: 82px;
}
@media screen and (max-width: 600px) {
  .President {
    text-align: center;
    display: block;
    margin-top: 19px;
  }
}
.President__img {
  padding-left: 33px;
}
@media screen and (max-width: 600px) {
  .President__img {
    width: 53.86%;
    padding-left: 0;
    margin: 0 auto;
  }
}
.President__img img {
  max-width: 100%;
  height: auto;
}
.President__name {
  text-align: right;
}
@media screen and (max-width: 600px) {
  .President__name {
    text-align: left;
    display: inline-block;
    margin-top: 20px;
  }
}
.President__name dt {
  font-size: 16px;
  line-height: 1.75;
}
.President__name dt span {
  display: block;
}
@media screen and (max-width: 600px) {
  .President__name dt span {
    margin-top: 28px;
  }
}
.President__name dd {
  margin-top: 3px;
}
@media screen and (max-width: 600px) {
  .President__name dd {
    margin-top: 11px;
  }
}
.President__name dd img {
  position: relative;
  top: 3px;
  right: -3px;
  width: 167px;
}
@media screen and (max-width: 600px) {
  .President__name dd img {
    top: auto;
    right: auto;
    width: 150px;
  }
}

/* Text
-----------------------------------------*/
.LeadText {
  font-size: 22px;
  line-height: 1.6;
}
.BaseText {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.8px;
  margin-top: 37px;
}
@media screen and (max-width: 600px) {
  .BaseText {
    line-height: 1.875;
  }
}
.BaseText__link {
  display: inline-block;
  margin-left: 15px;
}
@media screen and (max-width: 600px) {
  .BaseText__link {
    display: block;
    margin-left: 0;
  }
}
a.BaseText__link:visited {
  color:#0041C0;
  text-decoration: none;
}

/* Mission
-----------------------------------------*/
.Mission {
  padding: 100px 0;
}
@media screen and (max-width: 600px) {
  .Mission {
    padding: 70px 0;
  }
}
.Mission__wrapper {
  padding: 0 75px;
  margin-top: 61px;
}
@media screen and (max-width: 600px) {
  .Mission__wrapper {
    padding: 0;
    margin-top: 66px;
  }
}

/* Vision
-----------------------------------------*/
.Vision {
  padding: 100px 0;
}
@media screen and (max-width: 600px) {
  .Vision {
    padding: 70px 0;
  }
}
.Vision__wrapper {
  padding: 0 75px;
  margin-top: 61px;
}
@media screen and (max-width: 600px) {
  .Vision__wrapper {
    padding: 0;
    margin-top: 66px;
  }
}

/* Slogan
-----------------------------------------*/
.Slogan {
  padding: 100px 0 83px;
}
@media screen and (max-width: 600px) {
  .Slogan {
    padding: 70px 0;
  }
}
.Slogan__wrapper {
  padding: 0 75px;
  margin-top: 65px;
}
@media screen and (max-width: 600px) {
  .Slogan__wrapper {
    padding: 0;
    margin-top: 60px;
  }
}
.Slogan__logo {
  text-align: center;
}
.Slogan__logo img {
  max-width: 100%;
  height: auto;
}
.Slogan__link {
  margin-top: 56px;
}
.Slogan__next {
  margin-top: 150px;
}
@media screen and (max-width: 600px) {
  .Slogan__next {
    margin-top: 130px;
  }
}

/* LinkBtn
-----------------------------------------*/
.LinkBtn {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
.LinkBtn + .LinkBtn {
  margin-top: 48px;
}
@media screen and (max-width: 600px) {
  .LinkBtn + .LinkBtn {
    margin-top: 32px;
  }
}
.LinkBtn__link {
  font-weight: bold;
  display: flex;
  align-items: center;
  position: relative;
  height: 150px;
  border: 1px solid #707070;
  padding: 20px 80px 20px 95px;
  box-sizing: border-box;
  transition: all .3s ease-out;
}
@media screen and (max-width: 600px) {
  .LinkBtn__link {
    flex-direction: column;
    justify-content: center;
    height: 200px;
    padding: 46px 16px 29px;
  }
}

a.LinkBtn__link:link    { color: #000; text-decoration: none; }
a.LinkBtn__link:visited { color: #000; text-decoration: none; }
a.LinkBtn__link:hover   { color: #000; text-decoration: none; background-color: #F5F4F4; }
a.LinkBtn__link:focus   { color: #000; text-decoration: none; background-color: #F5F4F4; }
a.LinkBtn__link:active  { color: #000; text-decoration: none; background-color: #F5F4F4; }


.LinkBtn__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 44px;
  width: 12px;
  height: 12px;
  border-top: solid 3px #707070;
  border-right: solid 3px #707070;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 600px) {
  .LinkBtn__link::after {
    content: none;
  }
}
.LinkBtn__title {
  font-size: 24px;
  line-height: 1.3;
  color: #101010;
}
@media screen and (max-width: 600px) {
  .LinkBtn__title {
    font-size: 16px;
  }
}
.LinkBtn__img {
  display: inline-block;
  margin: 0 0 0 30px;
}
@media screen and (max-width: 600px) {
  .LinkBtn__img {
    margin: 16px 0 0 0;
  }
}
.LinkBtn__img img {
  max-width: 100%;
  height: auto;
}
.LinkBtn__memo {
  font-size: 18px;
  color: #707070;
  position: absolute;
  top: 50%;
  right: 80px;
  transform: translateY(-50%);
}
@media screen and (max-width: 600px) {
  .LinkBtn__memo {
    font-size: 16px;
    position: relative;
    top: auto;
    right: auto;
    transform: translateY(0);
    padding-right: 26px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 600px) {
  .LinkBtn__memo::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 3px;
    width: 8px;
    height: 8px;
    border-top: solid 2px #707070;
    border-right: solid 2px #707070;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
  }
}

/* Overview
-----------------------------------------*/
.Overview {
  padding: 101px 0 106px;
}
@media screen and (max-width: 600px) {
  .Overview {
    padding: 94px 0 99px;
  }
}
.Overview__detail {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
}
@media screen and (max-width: 600px) {
  .Overview__detail {
    display: block;
    margin-top: 76px;
  }
}
.Overview__list {
  width: 58.6%;
  border-top: 1px solid #707070;
}
@media screen and (max-width: 600px) {
  .Overview__list {
    width: 100%;
  }
}
.Overview__item {
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #707070;
  padding: 14.71px 22px;
}
@media screen and (max-width: 600px) {
  .Overview__item {
    padding: 21px 0 15px;
  }
}
.Overview__item dt {
  white-space: nowrap;
  text-align-last: justify;
  text-justify: inter-ideograph; /* IE */
  width: 19.557%;
}
@media screen and (max-width: 600px) {
  .Overview__item dt {
    width: 101px;
  }
}
.Overview__item dt::after{
  content: '：';
  margin-left: 7px;
}
.Overview__item dd {
  flex: 1;
  padding-left: 7px;
}
.Overview__img {
  flex: 1;
  padding-left: 39px;
}
@media screen and (max-width: 600px) {
  .Overview__img {
    text-align: center;
    padding-left: 0;
    margin-top: 24px;
  }
}

.Overview__link {
  margin-top: 56px;
}

/* Position
-----------------------------------------*/
.Position {
  padding: 94px 0 97px;
}
.Position__title {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
  padding-left: 21.5px;
}
@media screen and (max-width: 600px) {
  .Position__title {
    padding-left: 0;
  }
}
.Position__memo {
  text-align: right;
}
@media screen and (max-width: 600px) {
  .Position__memo {
    font-size: 12px;
  }
}
.Position__sec {
  margin-top: 72px;
}
.Position__sec + .Position__sec {
  margin-top: 80px;
}

.TblData {
  margin-top: 10px;
}

.TblData table {
  width: 100%;
  border-top: 1px solid #707070;
}

.TblData th,
.TblData td {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 1.4px;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.TblData th:last-child,
.TblData td:last-child {
  border-right: none;
}
.TblData th {
  background-color: #F8F9F9;
}

.TblData__title {
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  padding: 17.5px 10px;
}
@media screen and (max-width: 600px) {
  .TblData__title {
    padding: 19px 0 13px;
  }
}

.TblData--01 .TblData__position {
  width: 50%;
  padding: 15.405px 10px;
}
@media screen and (max-width: 600px) {
  .TblData--01 .TblData__position {
    width: 32.5%;
    padding: 15.5px 9px;
  }
}

.TblData--01 .TblData__name {
  text-align: center;
  width: 50%;
  padding: 15.405px 10px;
}
@media screen and (max-width: 600px) {
  .TblData__name {
    width: 67.5%;
    padding: 15.5px 9px;
  }
}

.TblData--02 .TblData__position {
  text-align: left;
  width: 16.3%;
  padding: 15.405px 10px 15.405px 1.7em;
}
@media screen and (max-width: 600px) {
  .TblData--02 .TblData__position {
    width: 25.5%;
    padding: 15.5px 9px 15.5px 1em;
  }
}

.TblData--02 .TblData__name {
  width: 15%;
  padding: 15.405px 10px 15.405px 1.85em;
}
@media screen and (max-width: 600px) {
  .TblData--02 .TblData__name {
    width: 30%;
    padding: 15.5px 9px 15.5px 1.4em;
  }
}

.TblData--02 .TblData__charge {
  width: 68.7%;
  padding: 15.405px 10px 15.405px 1.5em;
}
@media screen and (max-width: 600px) {
  .TblData--02 .TblData__charge {
    width: 44.5%;
    padding: 15.5px 9px 15.5px 1.4em;
  }
}

/* Organization
-----------------------------------------*/
.Organization {
  padding: 91px 0 115px;
}
.Organization__detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.Organization__img {
  text-align: center;
  margin-top: 69px;
}
.Organization__img img {
  max-width: 100%;
  height: auto;
}
.Organization__text {
  width: 37.68%;
  align-self: flex-end;
  padding: 3.3% 5.3% 0 3.1%;
  margin-top: -7.2%;
}
@media screen and (max-width: 600px) {
  .Organization__text {
    width: auto;
    align-self: flex-start;
    padding: 0 0 0 20px;
    margin-top: 20px;
  }
}
.Organization__list + .Organization__list {
  margin-top: 18px;
}
@media screen and (max-width: 600px) {
  .Organization__list + .Organization__list {
    margin-top: 20px;
  }
}
.Organization__list {
  font-size: 12px;
  line-height: 1.4;
}
@media screen and (max-width: 600px) {
  .Organization__list {
    font-size: 10px;
    line-height: 1.6;
  }
}
.Organization__list ul li.indent {
  text-indent: 1em;
}

/* Related
-----------------------------------------*/
.Related {
  background: url(/phs/profile/assets/img/bg_related_pc.jpg) no-repeat center center / cover;
  padding: 101px 0 516px;
  padding: 101px 0 34.64%;
}
@media screen and (max-width: 600px) {
  .Related {
    background: url(/phs/profile/assets/img/bg_related_sp.jpg) no-repeat bottom center / cover;
    padding: 99px 0 251px;
  }
}
.Related__wrapper {
  margin-top: 69px;
}
.Related__wrapper:not(:last-of-type) {
  margin-bottom: 69px;
}
@media screen and (max-width: 600px) {
  .Related__wrapper {
    margin-top: 73px;
  }
  .Related__wrapper:not(:last-of-type) {
    margin-bottom: 73px;
  }
}
.Related__link {
  display: flex;
  justify-content: center;
  padding-bottom: 35px;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .Related__link {
    display: block;
  }
}
.LinkList {
  width: 43%;
  margin-bottom: -1.625em;
}
@media screen and (max-width: 600px) {
  .LinkList {
    width: 100%;
    margin-bottom: 0;
  }
}
.LinkList--right {
  padding-left: 4.6%;
}
@media screen and (max-width: 600px) {
  .LinkList--right {
    padding-left: 0;
    margin-bottom: -1.25em;
  }
}
.LinkList__item {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3125;
  position: relative;
  padding-left: 17px;
  margin-bottom: 1.625em;
}
@media screen and (max-width: 600px) {
  .LinkList__item {
    margin-bottom: 1.25em;
  }
}
.LinkList__item::before {
  content: '';
	position: absolute;
  top: 0;
  left: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 9px solid #F5A227;
}

.LinkList__item a {
  display: inline-block;
  position: relative;
}

.LinkList__item a:link    { color: #000; text-decoration: none; }
.LinkList__item a:visited { color: #000; text-decoration: none; }
.LinkList__item a:hover   { color: #000; text-decoration: none; }
.LinkList__item a:focus   { color: #000; text-decoration: none; }
.LinkList__item a:active  { color: #000; text-decoration: none; }

.LinkList__item--window img {
  width: 13px;
  height: auto;
  margin-left: 8px;
}
@media screen and (max-width: 600px) {
  .LinkList__item--window img {
    margin-left: 12px;
  }
}
.LinkList__item--indent {
  margin-left: 1em;
}

.SloganImage {
  font-size: clamp(40px, 3.123vw, 64px);
  font-weight: bold;
  font-feature-settings: "palt";
  line-height: 1.4;
  letter-spacing: 10px;
  color: #231815;
  margin-top: 100px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .SloganImage {
    font-size: max(6.666vw, 25px);
    letter-spacing: 3px;
    margin-top: 40px;
  }
}
.SloganImage__slogan {
  width: 794px;
  margin-bottom: 40px;
}
@media screen and (max-width: 600px) {
  .SloganImage__slogan {
    width: auto;
  }
}
.SloganImage__value {
  width: 850px;
}
@media screen and (max-width: 600px) {
  .SloganImage__value {
    width: auto;
  }
}