/* =================================
------------------------------------
  Riddle - Portfolio
  Version: 1.0
 ------------------------------------ 
 ====================================*/

/*------------------------
  principal メインビジュアル
--------------------------*/
#header-container {
	background-color: #FFF;
}


#principal-photo-section {
	top:0;
    left: 0;
	position: fixed;
	display: block;
	height: 800px;
	width: 100%;
	background:url("../img/second/bg-base2.jpg")center center no-repeat;
	background-size:cover;
	animation: fadeIn 3.5s ease 0s 1 normal;
    -webkit-animation: fadeIn 3.5s ease 0s 1 normal;
	z-index: -10;!important;
}
@media only screen and (max-width: 1024px) {
#principal-photo-section {
	background:url("../img/second/bg-base2.jpg")center center no-repeat;
}
}
@media only screen and (max-width: 750px) {
#principal-photo-section {
	top:100px;
	height: 500px;
	background:url("../img/second/bg-base2_sp.jpg") 0 10px  no-repeat;
	background-size:contain;
	background-color: #194f9c;
}
}


/*------------------------
  principal-introduction
--------------------------*/
#principal-introduction {
	max-width: 1300px;
	width: 98%;
	margin-top:-100px;
	background: #FFFFFF;
	position:relative;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
@media only screen and (max-width: 750px) {
#principal-introduction {
	width: 100%;
}
}
#principal-introduction h3 {
	width: 100%;
	padding: 60px 0 0;
	font-size: 3.2rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	font-family: yu-mincho-pr6n, sans-serif;
}
@media only screen and (max-width: 750px) {
#principal-introduction h3 {
	font-size: 1.6em;
	line-height: 1.4;
	padding: 40px 5px 0;
	letter-spacing: 0.07em;
}
}
#principal-introduction p {
	padding: 40px 80px 40px 20px;
	font-size: 1.65rem;
	line-height: 2.5;
	letter-spacing: 0.10em;
	text-align: left;
	font-family: yu-mincho-pr6n, sans-serif;
}
@media only screen and (max-width: 750px) {
#principal-introduction p {
	font-size: 1.4rem;
	line-height: 2;
	padding: 15px 20px 20px 20px;
}
}
#principal-introduction h4 {
	font-size: 1.65rem;
	line-height: 1;
	letter-spacing: 0.15em;
	text-align: right;
	font-family: yu-mincho-pr6n, sans-serif;
	padding: 0 80px 80px 0;
}
@media only screen and (max-width: 750px) {
#principal-introduction h4 {
	font-size: 1.5rem;
	line-height: 2;
	padding: 0 20px 40px 0;
}
}

.principal-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
  margin-top: 20px;
}

.principal-photo {
  flex: 20px 0 350px; /* 固定幅：必要に応じて変更OK */
}

.principal-photo img {
  width: 250px;
  height: auto;
  display: block;
	padding: 30px 10px 0 40px;
}

.principal-message {
  flex: 1;
  min-width: 400px;
  font-size: 16px;
  line-height: 1.8;
}

@media only screen and (max-width: 750px) {
  .principal-flex {
    flex-direction: column;
    align-items: center; /* 横並び解除して縦並び＆中央揃え */
  }

  .principal-photo {
    display: flex;
    justify-content: center; /* ← 横方向の中央揃え */
    width: 100%;
    margin-bottom: 0px;
	padding: 0 0 0;
	flex: 0 0 350px; /* 固定幅：必要に応じて変更OK */
  }

  .principal-photo img {
    width: 40%;
    height: auto; /* ← アスペクト比（縦横比）を保つ */
    max-width: 250px; /* ← 最大サイズを制限（任意） */
    padding: 10px;
    object-fit: contain; /* ← 歪み防止 */
    display: block;
  }
}

/*------------------------
  principal_report
--------------------------*/

#principal_report-container {
	max-width: 1300px;
	width: 98%;
	background: #FFF;
	margin-left: auto;
	margin-right: auto;
	text-align: center
}
@media only screen and (max-width: 750px) {
#principal_report-container {
	width: 100%;
}
}
#principal_report-container img{
	max-width: 100%;
}

#principal_report-container h3 {
	width: 450px;
	height: auto;
	padding: 0  0 0 0;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 750px) {
#principal_report-container h3 {
	width: 300px;
}
}
.principal_report-outer {
	background: #FFF;
	padding: 3em 4em 4em;
}
@media only screen and (max-width: 750px) {
.principal_report-outer {
	background: #FFF;
	padding: 1.5em 0.3em 0.3em 0.3em; 
}
}
.principal_report-heading {
	background: #0f366d;
	padding: 1em 1em 1.3em;
}
@media only screen and (max-width: 750px) {
.principal_report-heading {
	background: #0f366d;
	padding: 0.5em 0.5em 0.8em;
}
}
.principal_report-heading h4 {
	font-size: 2.2rem;
	font-family: yu-mincho-pr6n, sans-serif;
	line-height: 1;
	letter-spacing: 0.15em;
	color: #FFF;
	padding: 0.5em 0;
}
@media only screen and (max-width: 750px) {
.principal_report-heading h4 {
	font-size: 1.7rem;
}
}
.principal_report-heading .entry-date {
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.2em;
	color: #FFF;
}
.principal_report-article {
	background: #FFF;
	padding: 2em 4em;
	text-align: left;
	font-size: 1.6rem;
	line-height: 2.2;
}
@media only screen and (max-width: 750px) {
.principal_report-heading .entry-date {
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #FFF;
}
.principal_report-article {
	padding: 1em 0.7em 1.5em;
	line-height: 1.7;
	font-size: 1.4rem;
}
}
