@charset "utf-8";
/* CSS Document */





/* メインコンテンツ */
.section-title {
  font-size: 1.7rem;
  font-weight:bold;
  color: #333;
  margin-bottom: 40px;
  position: relative;
  padding-left: 60px;
}
.section-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 2px;
  background: #007bff;
}
/* ご挨拶セクション */
.greeting-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
}
.greeting-text {
  font-size: 1rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 20px;
}
/* プロフィールセクション */
.profile-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.profile-left {
  flex: 2;
}
.profile-right {
  flex: 1;
}
.profile-name {
  font-size: 1.8rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 30px;
}
.profile-reading {
  font-size: 1rem;
  font-weight: 400;
  color: #666;
  margin-left: 10px;
}
.profile-details {
  background: #daf2ec;
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 4px;
  position: relative;
}
.profile-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
  font-size: 1rem;
  line-height: 1.6;
}
.profile-item:last-child {
  margin-bottom: 0;
}
.profile-label {
  width: 16px;
  height: 3px;
  background: #007bff;
  margin-right: 10px;
  margin-top: 10px;
  flex: 0 0 auto;
  display: block;
}
.profile-value {
  color: #333;
  font-weight: 500;
}
.profile-description {
  font-size: 1rem;
  line-height: 1.8;
  color: #555;
}
.profile-photo {
  width: 100%;
  height: 400px;
  background: #d0d0d0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.photo-placeholder {
  font-size: 3rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.2em;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  .breadcrumb {
    padding: 10px 0;
  }
  .main-content {
    padding: 0 0;
  }
  .section-title {
    font-size: 1.6rem;
    margin-bottom: 30px;
    padding-left: 40px;
  }
  .section-title::before {
    width: 25px;
    height: 3px;
  }
  .greeting-section {
    margin-bottom: 20px;
  }
  .greeting-subtitle {
    font-size: 1.3rem;
  }
  .profile-content {
    flex-direction: column;
    gap: 30px;
  }
  .profile-right {
    flex_: none;
    align-self_: center;
	  width:100%;
  }
  .profile-photo {
    width: 100%;
    height: auto;
  }
	.profile-photo img{
    width: 100%;
	height:auto!important;
  }
  .profile-name {
    font-size: 1.5rem;
  }
  .profile-details {
    padding: 20px;
  }

}
@media (max-width: 480px) {
  .container {
    padding: 0 15px;
  }
  .section-title {
    font-size: 1.4rem;
    padding-left: 35px;
  }
  .section-title::before {
    width: 20px;
    height: 3px;
  }
  .greeting-subtitle {
    font-size: 1.2rem;
  }
  .profile-photo {
    width: 100%;
    height:auto
  }
  .photo-placeholder {
    font-size: 2.5rem;
  }
  .profile-name {
    font-size: 1.3rem;
  }
  .profile-reading {
    font-size: 0.9rem;
  }
}

.timeline h4 {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: bold;
  color: #111;
  position: absolute;
  top:-12px;
	left:40px;
}
.timeline ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.timeline ul::before {
  content: "";
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 14px;
  width: 2px;
  background-color: #1976d2;
}
.timeline li {
  position: relative;
  padding: 15px 10px 15px 40px;
}
.timeline li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 9px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #1976d2;
  border-radius: 50%;
  z-index: 1;
}
.timeline .year {
  font-weight: bold;
  display: inline-block;
  margin-right: 10px;
  color: #111;
}
@media screen and (min-width: 769px) {
.timeline {
  background: #f5f5f5;
  padding: 30px;
  border-radius: 6px;
	position: relative;
	margin-top: 3%;
}	
}
@media screen and (max-width: 768px) {
.timeline {
  background: #f5f5f5;
  padding: 10px;
  border-radius: 6px;
	position: relative;
	margin-top: 6%;
}	
}
@media screen and (max-width: 768px) {
  .timeline {
    background: #f5f5f5;
    padding: 10px;
    border-radius: 6px;
    position: relative;
    margin-top: 6%;
  }

  .timeline li {
    display: flex;
    align-items: flex-start;
    padding-left: 40px;
  }

  .timeline .year {
    min-width: 70px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) {
  .timeline li::before {
    top: 1.3em;
    transform: none;
  }
}

/*私のアプローチ：グローバル視点と最新技術への対応*/

.approach p{
max-width:660px;
z-index: 2!important;
position: relative;
}
.approach{
position: relative;
}
.app-img{
position: absolute;
right:0;
top:15%;
width:70%;
}
.app-img img{
width:100%;
height:auto!important;
z-index: 1!important;
}
.mgt-3{
	margin-top: 3%;
}
@media screen and (max-width: 768px) {
.approach{
background:url(../img/app.jpg);
background-position: bottom;
background-size: 100%;
background-repeat:no-repeat;
}	
}


/*成功事例：ビジネスを変革するSEO戦略*/
@media screen and (min-width: 769px) {
.results-section-title {
  font-size: 23px;
  font-weight: bold;
  margin-bottom: 30px;
	position: absolute;
	top:-15px;
	left:25px;
}	
}
@media screen and (max-width: 768px) {
.results-section-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
	position: absolute;
	top:-10px;
	left:25px;
}	
}

@media screen and (min-width: 769px) {
.results-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}	
}
@media screen and (max-width: 768px) {
.results-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}	
}
.result-box {
  flex: 1;
  min-width: 280px;
  background: #f2f2f2;
  text-align: center;
  padding: 10px;
}
		.result-box img{
		width:100%;
		max-width:290px;
		height:auto!important;
		}
@media screen and (min-width: 769px) {
.result-heading {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
  border-bottom: 2px solid #007bdb;
  padding-bottom:5px;
}	
}
@media screen and (max-width: 768px) {
.result-heading {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 20px;
  border-bottom: 2px solid #007bdb;
  padding-bottom:5px;
}	
}
.result-highlight {
  font-size: 36px;
  font-weight: bold;
}
.result-highlight-center {
  font-size: 36px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
.highlight-orange {
  color: #f28c00;
  font-size: 68px;
  font-weight:bold;
}
}
@media screen and (max-width: 768px) {
.highlight-orange {
  color: #f28c00;
  font-size: 38px;
  font-weight:bold;
}	
}
.highlight-unit {
  font-size: 28px;
font-weight:bold;
}
.highlight-note {
  font-size: 18px;
  font-weight: bold;
  color: #333;
}
.result-description {
  font-size: 14px;
  color: #555;
  line-height: 1.8;
}
.ftgreen{
color:#1297b2;
}
.bold{
font-weight:bold;
}
@media screen and (min-width: 769px) {
.results-section {
  background: #f2f2f2;
  padding: 15px  25px 15px;
position: relative;
margin-top: 4%;
}	
}
@media screen and (max-width: 768px) {
.results-section {
  background: #f2f2f2;
  padding: 2%;
position: relative;
margin-top: 8%;
}	
}

/*行動指針*/
@media screen and (min-width: 769px) {
.policy-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.policy-item {
  display: flex;
  align-items: center;
  border: 1px solid #00a3cc;
  padding: 15px 20px;
  border-left: none;
  border-top: none;
}
.policy-num {
  background: #00a3cc;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  flex-shrink: 0;
}
.policy-text {
  font-size: 16px;
  line-height: 1.6;
	font-weight:bold;
}
}
@media screen and (max-width: 768px) {
.policy-list {
  display_: grid;
  grid-template-columns_: repeat(2, 1fr);
  gap_: 20px;
}
.policy-item {
  display: flex;
  align-items: center;
  border: 1px solid #00a3cc;
  padding: 15px 20px;
  border-left: none;
  border-top: none;
width:100%;
	margin-bottom: 3%;
}
.policy-num {
  background: #00a3cc;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  flex-shrink: 0;
}
.policy-text {
  font-size: 16px;
  line-height: 1.6;
	font-weight:bold;
}
}
.policy {
  padding-top: 20px;
  padding-bottom: 40px;
}


/*専門性の証明*/
.qualification-list {
  list-style: none;
  padding: 20px;
  margin: 0;
  color: #333;
  font-size: 16px;
  line-height: 2.2;
}

.qualification-list li {
  position: relative;
  padding-left: 20px;
  font-weight:bold;
}

.qualification-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 8px;
  height: 8px;
  background-color: #009ee0;
}
.under-to-contact{
	display: block;
	width:80%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4%;
	max-width:480px;
}
.under-to-contact img{
	width:100%;
	height:auto!important;
}