@charset "utf-8";

/* common
---------------------------------------------*/
* {margin:0;padding:0;}

a:link,a:visited {
	color: #ffffff;
	text-decoration:underline;
}
a:hover,a:active {
	color: #d90909;
	text-decoration:underline;
}

.impact   {font-size:20pt; font-weight:bold;}
.impact2  {color:red;}
.impact3  {background:yellow; color:#000;}
#impact4  {underline;}
.impact5  {background:#173B50; padding:2px 5px; color:#fff;}
.impact6  {background:#f4f4f4; padding:3px; line-height:1.1;}
.impact7  {background: #B60000; padding:2px 5px; color:#fff;}
.style2   {color: #FF0000}
.style3   {color: #333333}
.style4   {color: #000000}


img{ border: none;}

/* ボタンのマウスオーバーで明るくする */
.btn:hover {
  filter: brightness(120%);
}


/* animation
---------------------------------------------*/
.feedInUp {
	opacity: 0;
	transform: translate(0,30px); 
	-webkit-transform: translate(0,30px); 
	transition: 1.5s;
}
.feedInUp_On {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/* layout
---------------------------------------------*/


/*TopIntro-Start*/
body {
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	min-width: 1002px;
	
  background-image: url(../images/bg.jpg);
	background-repeat: repeat;
	background-attachment: fixed;
	background-position: top center;
	
-webkit-text-size-adjust:none;
	
  text-align:center;
  font-size:20px;
  font-family: '源ノ明朝 VF', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    color: #383d5c;

	letter-spacing: 0.1em; /* 文字間隔を少し広げる */
	line-height: 1.8em; /* フォントサイズの1.8倍の行間 */
}

#head1 { background: url("../images/header_01.png") no-repeat top center; height:    89px; } 
#head2 { background: url("../images/header_02.png") no-repeat top center; height:    92px; } 

#form { background: url("../images/form.png") no-repeat top center; height:    390px; } 



#wrap {

	background-image: url("../images/wrap.png");
	background-repeat: repeat-y;
	background-position: center top;
	background-position:50% 0%;
}

#wrapform {

	background-image: url("../images/wrapform.png");
	background-repeat: repeat-y;
	background-position: center top;
	background-position:50% 0%;
}


#container {

	text-align:left;
	width:1000px;
	margin:0 auto;
	
	
}

#text {

	text-align:left;
	width:850px;
	margin:0 auto;
	
	
}

#textwhite {

	text-align:left;
	width:850px;
	margin:0 auto;
	color: #fff;
	
}

#texts2 {

	text-align:left;
	width:750px;
	position: relative;
	margin-top:170px;
	margin-left:400px;
	
	
}

#texts3 {
	text-decoration: none;
	text-align:left;
	width:850px;
	margin-top:250px;
	margin-left:170px;
	color: #333333 !important;
}


.container {

	text-align:left;
	width:1200px;
	margin:0 auto;
	
	
}

.white {
  color: #fff;
}

.text-center {
　text-align: center;
}

#footer {  
	background-color: #1a594c;
}
--------------------------- */

ol,
ul{
	list-style-position: inside;
	padding-left:10px;
}
ol li,
ul li{
	text-align:left;
}

/*-----------追加--------------*/
.bg01 {  
	background-color: #1a594c;
}

.bg02 {  
	background-color: #fffdf8;
}

.bg03 {  
	background-color: #ecefd9;
}

/* 左右レイアウト */
.container-horizontal {
    display: flex;
    flex-direction: row;
}

.container-horizontal .block {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
    height: 90vh;
}

/* profile 左右レイアウト */
.container-horizontal .pro-block {
    flex: 1;
    display: flex;
	justify-content: center;
    align-items: center;

}

.container-horizontal .pro-block .block-2 {
	justify-content: left;
    align-items: left;
}


/*縦書き*/
.vertical-text {
	writing-mode: vertical-rl; /* 縦書き（右から左） */
	text-orientation: upright; /* 文字を直立させる */
	font-size: 40px; /* 文字サイズ調整 */
	text-align: start; /* 行の始まりを揃える */
	line-height: 2.5; /* 行の高さ調整 */
	font-family: 'SourceHanSerifVF', serif; /* 源ノ明朝 VF を適用 */
	font-weight: 100; /* 細めのフォントウェイト */
	letter-spacing: 0.3em; /* 文字間隔を少し広げる */
  }

.vertical-text .text01{
	color: white; /* 白色 */
}

.vertical-text .text02{
	color: #4a8e42; /*  */
}

.subtitle{
	font-size: 40px; /* 文字サイズ調整 */
	color: #4a8e42; /*  */
	font-family: 'SourceHanSerifVF', serif; /* 源ノ明朝 VF を適用 */
	letter-spacing: 0.3em; /* 文字間隔を少し広げる */
	padding: 50px 10px; /* 上下余白 */
	line-height: 1.8em;
}

.container-text {
	width: 60%;
	margin-left: 5vw; /* ビューポート幅の3%を余白として確保 */
	text-align: left;

}

/*画像圧縮*/
.responsive-image {
	max-width: 30%;
	height: auto; /* 縦横比を維持 */
	padding: 50px 0; /* 上下30pxの余白 */
  }


.container-sien {
	display: grid;
	grid-template-columns: repeat(3, minmax(380px, 1fr));  /* 3カラム横並び */
	gap: 20px;
	width: 80%;
	max-width: 700px;

	text-align: center; /* 全体を中央揃え */
	padding: 1em;
	margin: 0 auto; /* 🌟コンテナ自体を中央寄せ */
    justify-content: center; /* 🌟グリッドアイテムを中央寄せ */
	align-items: start; /* 上揃え */
}

.block-sien {
	background-color: #ffff;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	font-size: 1.3rem;
	min-height: 250px;
	border-radius: 10px;
	padding: 50px 50px 50px 50px;
	text-align: left;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
	transform: translateY(20px);

	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.block-sien img{
width: 100%;
height: auto;
max-width: 100%;
display: block;
margin-bottom: 20px;
}

/* アニメーション */
.fade-in {
    opacity: 0;
    animation: fadeIn 2s ease-in forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fade-in-sc {
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.fade-in-sc.active {
    opacity: 1;
}

/*プロフィールテキストボックス*/
.container02 {
    display: flex;
    align-items: flex-start; /* 上揃えにする */
    justify-content: flex-start; /* 左寄せにする */
    max-width: 1100px; /* コンテンツ幅の指定 */
    margin: 20px auto; /* 上下中央寄せ */
    padding: 20px;
    gap: 0px; /* 画像とテキストの間隔 */
}

.image-box img {
    max-width: 100%; /* 画像の最大幅を親要素に合わせる */
    height: auto;
    display: block;
}

.text-box {
    flex: 1;
    align-self: flex-start; /* 左上に配置 */
    width: 50%; /* 幅を調整（必要なら変更） */
	white-space: nowrap; /* 自動改行を防ぐ */
    overflow: hidden; /* はみ出した部分を隠す */
    text-overflow: ellipsis; /* 省略記号「…」を表示 */
    min-width: 200px; /* 最小幅を設定 */
    flex-shrink: 0; /* 勝手に縮小しないようにする */
}

h2 {
    margin-bottom: 10px;
}

#wrap {

	background-image: url("../images/wrap.png");
	background-repeat: repeat-y;
	background-position: center top;
	background-position:50% 0%;
}

.text_jigyou {

	justify-content: center !important; /* 中央寄せ */
	align-items: center !important;
	margin: 0 !important;
	max-width: 900px !important; /* 文章の横幅を制限 */
	text-align: left !important; /* 左詰め */
}

/* === ロゴを写真の左上にオーバーレイ === */
.hero-photo {
  position: relative;
  display: inline-block; /* 画像の実寸に合わせる */
}

/* ロゴの見た目と位置 */
.logo-badge {
  position: absolute;
  top: 12px;           /* 余白はお好みで */
  left: 12px;
  width: clamp(90px, 14vw, 180px);  /* 画面に応じて可変 */
  height: auto;
  z-index: 2;
  pointer-events: none;             /* クリックの邪魔をしない */
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); /* 乗算でもOK */
}

/* Award CTA button */
.cta-award{
  display: inline-block;
  padding: 18px 28px;
  border-radius: 9999px;
  background: #1a594c;
  color: #fff !important;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  transition: transform .12s ease, filter .12s ease;
  text-decoration: none !important; 
}
.cta-award:hover{
  transform: translateY(-2px);
  filter: brightness(115%);
}
