@charset "UTF-8";

@-webkit-keyframes mv04-circle {
100% {
stroke-dashoffset: 0;
}
}

@keyframes mv04-circle {
100% {
stroke-dashoffset: 0;
}
}

:root {
--easing: cubic-bezier(.2, 1, .2, 1);
--transition: .8s var(--easing);
}


/*PC*/
@media print, screen and (min-width: 768px) {
#hed .hed_img .bg_img{
background-image:url("../images/about/main_img.jpg");
}

#about{
margin:0 auto 200px;

}

#about .block{
position:relative;
margin-bottom: 160px;
}

#about .block:nth-child(1)::before{
content: "";
position: absolute;
top: 55px;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background:#f2f5fc;
}

#about .block:nth-child(1){
margin-bottom: 160px;
background: url("../images/about/bg_illust.png") top center no-repeat;
background-size: 45% auto;
background-blend-mode:lighten;
}

#about .block .ttl{
font-size: 5rem;
font-weight: 700;
line-height: 1;
margin: 0 0 160px;
display: block;
text-align: center;
}

#about .block .ttl span{
display: block;
font-size: 1.2rem;
font-weight: 800;
line-height: 1;
margin: 0 0 10px;
}

#about .block .s_ttl{
text-align: center;
font-size: 2.6rem;
font-weight: 800;
line-height: 1.4;
letter-spacing: .1rem;
margin: 0 0 60px;
}

#about .block .slider3 .slick-slide{
margin: 0 6px;
}

#about .block .slider3 .slick-slide img{
border-radius: .4rem;
overflow: hidden;
}

#about .block:nth-child(2) .ttl,
#about .block:nth-child(3) .ttl,
#about .block:nth-child(4) .ttl,
#about .block:nth-child(5) .ttl{
margin: 0 0 80px;
display: block;
text-align: center;
}

#about .value_list{
width: 88%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#about .value_list li{
width: 24%;
position: relative;
background:#f2f5fc;
padding: 20px;
box-sizing: border-box;
}

#about .value_list li .no{
position: absolute;
top:-20px;
left:-10px;
font-size:3.6rem;
font-weight: 700;
line-height: 1;
letter-spacing:-.1rem;
}

#about .value_list li h3{
position: relative;
font-size: 1.4rem;
font-weight: 800;
text-align: center;
margin: 15px 0 10px;
position: relative;
}

#about .value_list li h3::before{
content: "";
position: absolute;
top: -5px;
left: 50%;
width: 40px;
height: 1px;
margin-left: -20px;
background:#0066a1;
}

#about .value_list li .img{
border-radius: .4rem;
overflow: hidden;
margin: 0 0 20px;
}

#about .value_list li p{
font-weight: 500;
line-height: 1.6;
}


/*message
------------------------------------------*/
#about .message_block{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 80%;
margin: 0 auto;
}

#about .message_block .img{
width: 40%;
}

#about .message_block .img .sticky {
position: sticky;
top:80px;
display: fixed;
}

#about .message_block .txt_box{
width: 55%;
}


#about .message_block .txt_box h3{
font-size: 2rem;
font-weight: 700;
line-height: 1.4;
margin: 0 0 40px;
}

#about .message_block .txt_box p{
font-weight: 500;
margin: 0 0 60px;
}

#about .message_block .txt_box h4{
text-align: right;
line-height: 1;
}

#about .message_block .txt_box h4 span{
font-size: 1.2rem;
margin-left: 10px;
}

/*profile
---------------------------------------*/
#about .co_table{
width:60%;
margin: 0 auto;
background: #FFF;
min-width: 800px;
}

#about .co_table tr{
border-top: 1px solid #0066a1;
border-bottom: 1px solid #0066a1;

}

#about .co_table th{
width: 20%;
text-align: left;
padding: 15px;
box-sizing: border-box;
}

#about .co_table td{
padding: 15px;
box-sizing: border-box;
}

#about .history_block{
width: 100%;
margin: 0 auto 120px;
background:#f2f5fc;
padding:55px;
box-sizing: border-box;
}

#about .history_block .ttl{
margin:0 0 80px;
display: block;
text-align: center;
font-size:5rem;
font-weight: 700;
line-height: 1;
letter-spacing: -.1rem;
}

#about .history_block .ttl span{
display: block;
font-size: 1.2rem;
font-weight: 800;
line-height: 1;
margin:0 0 10px;
letter-spacing: 0;
}

#about .history_block .history_box{
overflow-x: scroll;
padding: 0 0 10px;
}

#about .history_block .history_box ul{
width: 14800px;
display: flex;
flex-wrap: wrap;
}

#about .history_block .history_box ul li{
width: 360px;
border-right:1px solid #0066a1;
padding:15px;
box-sizing: border-box;
}

#about .history_block .history_box ul li h3{
color: #0066a1;
font-size: 1.4rem;
line-height: 1;
margin: 0 0 15px;
}

#about .history_block .history_box ul li h3 span{
font-size: 1rem;
}

#about .history_block .history_box ul li div{
background:rgba(255,255,255,.8);
}

#about .history_block .history_box ul li div:nth-child(odd){
background:#f2f5fc;
}

#about .history_block .history_box ul li div h4{
font-size: .8rem;
line-height: 1;
margin: 0 0 5px;
color: #FFF;
background: #0066a1;
display:table;
padding: 5px 8px;
box-sizing: border-box;
}

#about .history_block .history_box ul li div p{
font-size: .9rem;
line-height: 1.8;
padding: 15px;
box-sizing: border-box;
}


}
/*sp*/
@media only screen and (max-width: 767px) {
#hed .hed_img .bg_img{
background-image:url("../images/about/main_img_s.jpg");
}

#about{
margin:0 auto 60px;

}

#about .block{
position:relative;
margin-bottom: 60px;
}

#about .block:nth-child(1)::before{
content: "";
position: absolute;
top: 15px;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background:#f2f5fc;
}

#about .block:nth-child(1){
margin-bottom: 60px;
background: url("../images/about/bg_illust.png") top center no-repeat;
background-size: 85% auto;
background-blend-mode:lighten;
}

#about .block .ttl{
font-size: 2.2rem;
font-weight: 700;
line-height: 1;
margin: 0 0 40px;
display: block;
text-align: center;
}

#about .block .ttl span{
display: block;
font-size: 1rem;
font-weight: 800;
line-height: 1;
margin: 0 0 10px;
}

#about .block .s_ttl{
font-size: 1.2rem;
font-weight: 800;
line-height: 1.4;
letter-spacing: .1rem;
margin: 0 0 30px;
text-align: center;
}

#about .block .slider3 .slick-slide{
margin: 0 6px;
}

#about .block .slider3 .slick-slide img{
border-radius: .4rem;
overflow: hidden;
}

#about .block:nth-child(2) .ttl,
#about .block:nth-child(3) .ttl,
#about .block:nth-child(4) .ttl,
#about .block:nth-child(5) .ttl{
margin: 0 0 40px;
display: block;
text-align: center;
}

#about .value_list{
width: 88%;
margin: 0 auto;
}

#about .value_list li{
width: 100%;
position: relative;
background:#f2f5fc;
padding: 20px;
box-sizing: border-box;
margin-bottom:30px;
}

#about .value_list li:last-child{
margin-bottom: 0;
}

#about .value_list li .no{
position: absolute;
top:-20px;
left:-10px;
font-size:3rem;
font-weight: 700;
line-height: 1;
letter-spacing:-.1rem;
}

#about .value_list li h3{
position: relative;
font-size: 1.2rem;
font-weight: 800;
text-align: center;
margin: 15px 0 10px;
}

#about .value_list li h3::before{
content: "";
position: absolute;
top: -5px;
left: 50%;
width: 40px;
height: 1px;
margin-left: -20px;
background:#0066a1;
}

#about .value_list li .img{
border-radius: .4rem;
overflow: hidden;
margin: 0 0 20px;
}

#about .value_list li p{
font-weight: 500;
line-height: 1.6;
}


/*message
------------------------------------------*/
#about .message_block{
width: 90%;
margin: 0 auto;
}

#about .message_block .img{
width: 80%;
margin:0 auto 20px;
}

#about .message_block .img .sticky {
}

#about .message_block .txt_box{
width: 100%;
}


#about .message_block .txt_box h3{
font-size:1.4rem;
font-weight: 700;
line-height: 1.4;
margin: 0 0 20px;
}

#about .message_block .txt_box p{
font-weight: 500;
margin: 0 0 30px;
}

#about .message_block .txt_box h4{
text-align: right;
font-size: .8rem;
line-height: 1;
}

#about .message_block .txt_box h4 span{
font-size: 1rem;
margin-left: 10px;
}

/*profile
---------------------------------------*/
#about .co_table{
width:90%;
margin: 0 auto;
background: #FFF;
font-size: .8rem;
}

#about .co_table tr{
border-top: 1px solid #0066a1;
border-bottom: 1px solid #0066a1;

}

#about .co_table th{
width: 100%;
text-align: left;
padding:5px 5px 0;
box-sizing: border-box;
display: block;
}

#about .co_table td{
display: block;
padding:5px;
box-sizing: border-box;
}


#about .history_block{
width: 100%;
margin: 0 auto 60px;
background:#f2f5fc;
padding:25px;
box-sizing: border-box;
}

#about .history_block .ttl{
margin:0 0 40px;
display: block;
text-align: center;
font-size: 2.2rem;
font-weight: 700;
line-height: 1;
letter-spacing: -.1rem;
}

#about .history_block .ttl span{
display: block;
font-size: 1.2rem;
font-weight: 800;
line-height: 1;
margin:0 0 10px;
letter-spacing: 0;
}

#about .history_block .history_box{
overflow-x: scroll;
padding: 0 0 10px;
}

#about .history_block .history_box ul{
width: 12340px;
display: flex;
flex-wrap: wrap;
}

#about .history_block .history_box ul li{
width: 300px;
border-right:1px solid #0066a1;
padding:10px;
box-sizing: border-box;
}

#about .history_block .history_box ul li h3{
color: #0066a1;
font-size: 1.2rem;
line-height: 1;
margin: 0 0 15px;
}

#about .history_block .history_box ul li h3 span{
font-size: .8rem;
}

#about .history_block .history_box ul li div{
background:rgba(255,255,255,.8);
}

#about .history_block .history_box ul li div:nth-child(odd){
background:#f2f5fc;
}

#about .history_block .history_box ul li div h4{
font-size: .8rem;
line-height: 1;
margin: 0 0 5px;
color: #FFF;
background: #0066a1;
display:table;
padding: 5px 8px;
box-sizing: border-box;
}

#about .history_block .history_box ul li div p{
font-size: .8rem;
line-height: 1.8;
padding: 10px;
box-sizing: border-box;
}


}


/* ============================================================
   OUR HISTORY / 私たちの歩み ―― 沿革タイムライン
   タイトルは共通 .ttl txt_grad を使用。書体はサイト共通（Noto Sans JP / .en）。
   ============================================================ */
#about .ozh{position:relative}
#about .ozh *{box-sizing:border-box}

/*PC*/
@media print, screen and (min-width: 768px) {
#about .ozh .timeline{position:relative;max-width:1080px;margin:0 auto}
#about .ozh .timeline .spine{position:absolute;top:10px;bottom:10px;left:50%;width:1px;transform:translateX(-50%);
	background:linear-gradient(180deg,transparent,#dbe2ec 8%,#dbe2ec 92%,transparent)}
#about .ozh .entry{position:relative;display:grid;grid-template-columns:1fr 1fr;
	column-gap:clamp(60px,9vw,120px);align-items:center;padding:50px 0;
	opacity:0;transform:translateY(46px);transition:opacity 1s var(--easing),transform 1.1s var(--easing)}
#about .ozh .entry.in{opacity:1;transform:none}
#about .ozh .node{position:absolute;left:50%;top:50%;width:15px;height:15px;border-radius:50%;
	background:#fff;border:2px solid var(--accent);transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 0 6px #fff}
#about .ozh .node::after{content:"";position:absolute;inset:3.5px;border-radius:50%;background:var(--accent);
	opacity:0;transform:scale(.3);transition:all .7s var(--easing) .2s}
#about .ozh .entry.in .node::after{opacity:1;transform:none}
#about .ozh .media{position:relative}
#about .ozh .frame{position:relative;aspect-ratio:3/2;border-radius:.4rem;overflow:hidden;
	box-shadow:0 22px 48px -28px rgba(0,50,95,.5);background:#eef1f6}
#about .ozh .frame img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.4s var(--easing)}
#about .ozh .entry:hover .frame img{transform:scale(1.07)}
#about .ozh .body{max-width:30em}
#about .ozh .era{display:flex;align-items:baseline;gap:16px;margin:0 0 20px}
#about .ozh .era .idx{font-size:3.4rem;font-weight:700;line-height:.8;letter-spacing:-.05rem;color:var(--accent)}
#about .ozh .era .lbl{display:flex;flex-direction:column;gap:5px}
#about .ozh .era .lbl b{font-size:1.4rem;font-weight:800;line-height:1;letter-spacing:.02em}
#about .ozh .era .lbl i{font-size:.95rem;font-style:normal;letter-spacing:.06em;color:#5a6b80}
#about .ozh .body h3{font-size:2rem;font-weight:800;line-height:1.5;margin:0 0 20px}
#about .ozh .body h3::before{content:"";display:block;width:34px;height:3px;background:var(--accent);border-radius:2px;margin:0 0 22px}
#about .ozh .body p{font-weight:500;line-height:1.9;color:#333}
#about .ozh .entry:nth-child(even) .media{order:2}
#about .ozh .entry:nth-child(even) .body{order:1;justify-self:end;padding-right:6px}
#about .ozh .entry:nth-child(odd) .body{justify-self:start;padding-left:6px}
}

/*sp*/
@media only screen and (max-width: 767px) {
#about .ozh .timeline{position:relative;width:100%;margin:0 auto}
#about .ozh .timeline .spine{position:absolute;top:10px;bottom:10px;left:7px;width:1px;
	background:linear-gradient(180deg,transparent,#dbe2ec 6%,#dbe2ec 94%,transparent)}
#about .ozh .entry{position:relative;display:block;padding:22px 0 22px 32px;
	opacity:0;transform:translateY(36px);transition:opacity .9s var(--easing),transform 1s var(--easing)}
#about .ozh .entry.in{opacity:1;transform:none}
#about .ozh .node{position:absolute;left:7px;top:8px;width:13px;height:13px;border-radius:50%;
	background:#fff;border:2px solid var(--accent);transform:translateX(-50%);z-index:3;box-shadow:0 0 0 4px #fff}
#about .ozh .node::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
#about .ozh .media{margin:0 0 18px}
#about .ozh .frame{position:relative;aspect-ratio:16/10;border-radius:.4rem;overflow:hidden;
	box-shadow:0 14px 28px -20px rgba(0,50,95,.5);background:#eef1f6}
#about .ozh .frame img{width:100%;height:100%;object-fit:cover;display:block}
#about .ozh .body{width:100%}
#about .ozh .era{display:flex;align-items:baseline;gap:12px;margin:0 0 14px}
#about .ozh .era .idx{font-size:2.6rem;font-weight:700;line-height:.8;color:var(--accent)}
#about .ozh .era .lbl b{font-size:1.2rem;font-weight:800;line-height:1;display:block;margin:0 0 4px}
#about .ozh .era .lbl i{font-size:.85rem;font-style:normal;color:#5a6b80}
#about .ozh .body h3{font-size:1.3rem;font-weight:800;line-height:1.6;margin:0 0 14px}
#about .ozh .body h3::before{content:"";display:block;width:30px;height:3px;background:var(--accent);border-radius:2px;margin:0 0 16px}
#about .ozh .body p{font-weight:500;line-height:1.85;color:#333}
}
