@charset "utf-8";


/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */

@media print, screen and (min-width: 768px) {

.hato2 {
position: absolute;
bottom: 30%;
right: 0;
width: 370px;
}


/*トップ
---------------------------------------------*/
#info {
position: relative;
padding: 150px 0 100px;
background: linear-gradient(270deg, rgba(155, 242, 255, 0.1) 0%, rgba(74, 184, 235, 0.1) 100%);
background-blend-mode: multiply;
}
#info ul {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 120px;
}
#info ul li {
width: 48%;
margin-top: 20px;
background: #fff;
box-shadow: 0 0 20px rgba(0,0,0,0.15);
border-radius: 10px;
overflow: hidden;
}
#info ul li a { display: flex; align-items: center; }
#info ul li a .img img { width: 140px; }
#info ul li a p { font-size: 1.8rem; font-weight: 700; padding: 0 30px; }


#info .mb40 { margin-bottom: 40px; }

#info dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 40px;
}
#info dl dt { width: 90px; font-weight: 700; }
#info dl dd { width: calc(100% - 130px); font-weight: 400; margin-bottom: 20px; }
#info dl dd:last-child { margin-bottom: 0; }
#info dl dd a:hover { text-decoration: underline; }
#info dl dd img { width: 16px; margin-left: 5px; }

#info .btn { text-align: center; }
#info .btn a {
position: relative;
display: inline-block;
background: #086DB0;
font-weight: 700;
color: #FFF;
padding: 5px 100px 7px 30px;
border-radius: 25rem;
transition: all 0.3s;
}
#info .btn a:hover { opacity: 0.8; transition: all 0.3s; }
#info .btn a::before {
content: '';
position: absolute;
top: 40%; right: 25px;
width: 0.6em; height: 0.6em;
border: 0.2em solid #fff;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: rotate(45deg);
}



/*ニュースリリース
---------------------------------------------*/
#news { position: relative; padding: 150px 0 100px; }
#news::before {
content: '';
position: absolute;
width: 1200px;
height: 1200px;
top: 40%;
right: -30%;
background: linear-gradient(218.29deg, rgba(255, 255, 255, 0.4) 4.64%, rgba(194, 247, 255, 0.4) 36.92%, rgba(118, 200, 255, 0.8) 62.21%);
border-radius: 50%;
filter: blur(40px);
transform: matrix(-1, 0, 0, 1, 0, 0);
z-index: -1;
}

#news .logo {
position: absolute;
top: -20px; left: 0;
width: 320px;
z-index: -1;
}

#news dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 40px;
}
#news dl dt { width: 90px; font-weight: 700; }
#news dl dd { width: calc(100% - 130px); font-weight: 400; margin-bottom: 20px; }
#news dl dd:last-child { margin-bottom: 0; }
#news dl dd a:hover { text-decoration: underline; }
#news dl dd img { width: 16px; margin-left: 5px; }

#news .fot { text-align: center; }
#news .fot .paging {}
#news .fot .paging span { margin: 0 5px; }
/*.fot .paging .disabled { display: none;}*/
#news .fot .paging span.current { font-weight: 700; color: #086DB0; border-bottom: 2px solid #086DB0; padding: 0 5px; }
#news .fot .paging span a { padding: 0 5px; }
#news .fot .paging span a.prev { color: #086DB0; font-size: 2rem; font-weight: 700; }
#news .fot .paging span a.next { color: #086DB0; font-size: 2rem; font-weight: 700; }



/*トップメッセージ
---------------------------------------------*/
#message { position: relative; padding: 150px 0 100px; }

#message .hed_block{
position: relative;
display: flex;
flex-wrap: wrap;
flex-direction: row-reverse;
width:100%;
min-width: 1280px;
margin:0 auto 60px;
}

#message .hed_block .txt_box{
position: relative;
width: 440px;
margin: 0 0 0 100px;
}

#message .hed_block .txt_box .hed_ttl{
font-size: 24px;
line-height: 2.2;
letter-spacing: .1rem;
margin: 0 0 60px;
}

#message .hed_block .txt_box .name{
font-size: 16px;
}

#message .hed_block .txt_box .name span{
font-size: 24px;
margin-left: 15px;
}

#message .president_img{
position: relative;
width: 50%;
border-radius: 30px 0 0 30px;
overflow: hidden;
}

#message .txt{
margin: 0 0 50px;
line-height: 2;
}

#message .txt:last-child{
margin-bottom: 0;
}

#message .txt a{
text-decoration: underline;
}

#message .txt a:hover{
text-decoration: none;
}



/*企業理念・ビジョン・行動指針
---------------------------------------------*/
#philosophy { position: relative; padding: 150px 0 0; }

#philosophy .table01{
width: 100%;
margin: 0 0 20px;
}

#philosophy .table01 tr{
border-bottom: 1px solid #086DB0;
}
#philosophy .table01 tr:last-child{
border-bottom: none;
}

#philosophy .table01 th{
width: 25%;
padding: 40px 0;
box-sizing: border-box;
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
text-align: left;
vertical-align: top;
}

#philosophy .table01 td{
font-size: 2.4rem;
font-weight: 700;
padding: 40px 0;
box-sizing: border-box;
line-height: 2.2;
}

#philosophy .table01 td dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-top: 30px;
}
#philosophy .table01 td dl dt{
font-size: 1.8rem;
font-weight: 700;
color: #086DB0;
width: 100px;
height: 100px;
border-radius: 50%;
border: 1px solid #0a5ea8;
display: flex;
align-items: center;
justify-content: center;
}
#philosophy .table01 td dl dd {
width: calc(100% - 120px);
font-size: 1.5rem;
}
#philosophy .table01 td dl dd span {
display: block;
font-size: 2rem;
font-weight: 700;
margin-bottom: 5px;
}


#philosophy .data {
text-align: left;
font-size: 1.5rem;
font-weight: 700;
}
#philosophy .data a { color: #086DB0; }
#philosophy .data a img { width: 16px; margin-left: 5px; }



/*企業概要
---------------------------------------------*/
#overview { position: relative; padding: 150px 0 0; }
#overview .table01{
width: 100%;
margin: 0 0 20px;
}

#overview .table01 tr{
border-bottom: 1px solid #086DB0;
}
#overview .table01 tr:last-child{
border-bottom: none;
}

#overview .table01 th{
width: 25%;
padding: 12px;
box-sizing: border-box;
text-align: left;
font-weight: normal;
vertical-align: top;
}

#overview .table01 td{
padding: 12px;
box-sizing: border-box;
}

#overview .table01 td dl{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin-bottom: 10px;
}

#overview .table01 td dl dt{
width: 100px;
}

#overview .table01 td dl dd{
margin-left: 10px;
}

#overview .data{
text-align: right;
font-size: 12px;
}



/*役員一覧
---------------------------------------------*/
#executives { position: relative; padding: 150px 0 0; }

#executives .table01{
width: 100%;
margin: 0 0 20px;
}

#executives .table01 tr{
border-bottom: 1px solid #086DB0;
}
#executives .table01 tr:last-child{
border-bottom: none;
}

#executives .table01 th{
width: 40%;
padding: 12px;
box-sizing: border-box;
text-align: left;
font-weight: normal;
vertical-align: top;
}

#executives .table01 td{
padding: 12px;
box-sizing: border-box;
}

#executives .data{
text-align: right;
font-size: 12px;
}



/*組織図
---------------------------------------------*/
#organization { position: relative; padding: 150px 0 0; }



/*沿革
---------------------------------------------*/
#history { position: relative; padding: 150px 0 0; }

#history ul.history_wrap li {
position: relative;
display: flex;
flex-direction: row-reverse;
}

#history ul.history_wrap li p,
#history ul.history_wrap li caption {
font-weight: 700;
color: #086DB0;
padding: 5px 25px;
background: #fff;
border: 1px solid #086DB0;
border-radius: 25rem;
display: inline-block;
margin: 0 10px 20px 0;
}

#history ul.history_wrap li .main {
position: relative;
padding: 0 0 80px 100px;
width: 600px;
}
#history ul.history_wrap li .main::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 100%;
background: #fff;
}
#history ul.history_wrap li:first-child .main::before {
top: 60px;
}

#history ul.history_wrap li .no {
position: relative;
font-size: 3.2rem;
font-weight: 700;
line-height: 1;
color: #086DB0;
margin-bottom: 20px;
}
#history ul.history_wrap li .no::before {
content: "";
background-color: #086DB0;
display: block;
width: 80px;
height: 1px;
border-radius: 25rem;
position: absolute;
top: 50%;
left: -92px;
}
#history ul.history_wrap li .no::after {
content: "";
background-color: #086DB0;
display: block;
width: 15px;
height: 15px;
border-radius: 25rem;
position: absolute;
top: 9px;
left: -100px;
}
#history ul.history_wrap li:first-child .no::after {
width: 50px;
height: 50px;
left: -117px;
top: -5px;
}

#history ul.history_wrap li .main dl { display: flex; }
#history ul.history_wrap li .main dl:nth-of-type(2n) {
border-top: 1px solid #D5D5D5;
padding-top: 20px;
margin-top: 20px;
}
#history ul.history_wrap li .main dt { font-weight: 500; position: relative; width: 70px; }
#history ul.history_wrap li .main dd { padding: 0 0 0 20px; width: calc(100% - 70px); }
#history ul.history_wrap li .main dd figure {
margin-top: 20px;
display: flex;
align-items: flex-end;
}
#history ul.history_wrap li .main dd figure img { width: 300px; margin: 0; border-radius: 20px; }
#history ul.history_wrap li .main dd figcaption { font-size: 1.1rem; padding-left: 10px; }


#history ul.history_wrap li .sub {
position: relative;
text-align: right;
width: 300px;
display: flex;
align-items: center;
}
#history ul.history_wrap li .sub table { margin: 0 0 0 auto; }
#history ul.history_wrap li .sub tr {
position: relative;
margin: 50px 0;
display: flex;
justify-content: end;
}
#history ul.history_wrap li .sub tr.y2000 {
position: absolute;
top: 5px;
right: 0;
margin: 0px;
}
#history ul.history_wrap li .sub tr.y2000::after { content: none; }

#history ul.history_wrap li:first-child .sub tr { margin: 0 0 40px; }
#history ul.history_wrap li .sub tr::after {
content: "";
background-color: #D5D5D5;
display: block;
width: 15px;
height: 15px;
border-radius: 25rem;
position: absolute;
top: 5px;
right: -15px;
}
#history ul.history_wrap li .sub th {
width: 50px;
vertical-align:top;
text-align: right;
font-weight: 500;
line-height: 1;
padding: 5px 0;
margin-right: 20px;
}
#history ul.history_wrap li .sub td { text-align: right; }


/*-------- accordion --------*/
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
padding: 0 0 20px;
}

.accordion-content dl {
border-top: 1px solid #D5D5D5;
padding-top: 20px;
margin-top: 20px;
}

.accordion-btn {
width: 100%;
padding: 15px 30px;
background: #fff;
border: none;
border-radius: 10px;
font-weight: 700;
text-align: left;
position: relative;
cursor: pointer;
color: #086DB0;
}

.accordion-btn .icon {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle;
position: absolute;
top: 50%;
right: 30px;
transform: translateY(-50%);
width: 24px;
height: 24px;
background: #086DB0;
border-radius: 50%;
box-sizing: content-box;
}
.accordion-btn .icon::after,
.accordion-btn .icon::before {
content: "";
position: absolute;
right: 50%;
top: 50%;
width: 10px;
height: 2px;
background: #fff;
transform: translate(50%, -50%);
transition: 0.3s;
}
.accordion-btn .icon::before { transform: translate(50%, -50%) rotate(90deg); }
.accordion-btn.active .icon::before { opacity: 0; }


/*-------- 100周年 --------*/
#history .history_100th {
position: relative;
padding: 0 100px 140px 0;
display: flex;
width: 600px;
margin: 0 0 0 auto;
}
#history .history_100th::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 100%;
background: #fff;
}

#history .history_100th p {
position: relative;
margin-left: -60px;
text-align: center;
font-weight: 700;
color: #fff;
background: linear-gradient(304.79deg, #086DB0 14.02%, #14A6F4 87.12%);
border-radius: 25rem;
padding: 25px;
}
#history .history_100th p::before {
content: '';
border: 2px solid #086DB0;
border-radius: 25rem;
position: absolute;
top: -16px;
left: -19px;
width: 170px;
height: 170px;
}
#history .history_100th p span {
display: block;
border-bottom: 1px solid #fff;
padding-bottom: 3px;
margin-bottom: 3px;
}
#history .history_100th p strong {
font-size: 3.2rem;
}



/*M&A・事業承継
---------------------------------------------*/
#ma { position: relative; padding: 150px 0 0; display: inline-block; }
#ma .bg_white { border-radius: 20px; margin-bottom: 100px; }
#ma .bg_w { background: #fff; padding: 100px 0; }

#ma h3 {
font-size: 2.6rem;
font-weight: 700;
line-height: 1;
color: #086DB0;
text-align: center;
margin-bottom: 20px;
position: relative;
z-index: 1;
}
#ma h4 { font-size: 1.8rem; font-weight: 700; text-align: center; margin-bottom: 50px; }

/*-------- M&A基本方針 --------*/
#ma .Policy .imgbox {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 30px;
}
#ma .Policy .imgbox .img { width: 32%; border-radius: 10px; overflow: hidden; }


/*-------- 投資方針・対象領域 --------*/
#ma .Investment {  }
#ma .Investment h4 { margin-bottom: 30px; }
#ma .Investment p.txt { text-align: center; }

#ma .Investment .flex_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 50px 0;
}
#ma .Investment .flex_wrap .box { width: 49%; }
#ma .Investment .flex_wrap .box h5 {
font-size: 1.8rem;
font-weight: 700;
color: #fff;
text-align: center;
background: #14A6F4;
padding: 10px;
border-radius: 20px 20px 0 0;
}
#ma .Investment .flex_wrap .box:nth-child(2) h5 { background: #086DB0; }
#ma .Investment .flex_wrap .box ul {
border: 1px solid #D5D5D5;
padding: 20px;
border-radius: 0 0 20px 20px;
}
#ma .Investment .flex_wrap .box ul li {
margin-left: 15px;
}
#ma .Investment .flex_wrap .box ul li::marker {
content: '⚫︎';
color: #086DB0;
}
#ma .Investment .flex_wrap .box p {
border: 1px solid #D5D5D5;
padding: 20px;
border-radius: 0 0 20px 20px;
}


/*-------- 事業承継型M&Aの流れ --------*/
#ma .Flow { margin-top: 100px; }

#ma .Flow .flow_box { display: flex; flex-wrap: wrap; justify-content: space-between; }
#ma .Flow .flow_box:first-of-type { position: relative; padding-bottom: 100px; }
#ma .Flow .flow_box:first-of-type::after {
content: '';
position: absolute;
width: 104px;
height: 47px;
right: 0;
left: 0;
bottom: 25px;
margin: auto;
background: linear-gradient(360deg, #086DB0 20%, #C9DAFF 100%);
clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#ma .Flow .flow_box h5 {
font-size: 1.8rem;
font-weight: 700;
color: #fff;
text-align: center;
background: #086DB0;
padding: 10px;
border-radius: 10px;
writing-mode: vertical-rl;
box-sizing: border-box;
}
#ma .Flow .flow_box ul { width: calc(100% - 63px); }
#ma .Flow .flow_box ul li {
border: 1px solid #086DB0;
padding: 30px;
border-radius: 10px;
box-sizing: border-box;
margin-bottom: 10px;
}
#ma .Flow .flow_box ul li:last-child { margin-bottom: 0; }
#ma .Flow .flow_box ul li.flex { position: relative; padding-right: 240px; }
#ma .Flow .flow_box ul li.flex p {
width: 157px;
height: 157px;
font-size: 1.2rem;
font-weight: 700;
color: #086DB0;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 50%;
right: 30px;
border-radius: 25rem;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
transform: translateY(-50%);
}

#ma .Flow .flow_box ul li span {
font-size: 1.8rem;
font-weight: 700;
color: #086DB0;
display: block;
margin-bottom: 10px;
}


/*-------- よくあるご質問 --------*/
#ma .Faq { padding: 100px 0; }

#ma .Faq dl {
padding: 30px;
border-radius: 10px;
box-sizing: border-box;
margin-bottom: 40px;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
}
#ma .Faq dl:last-child { margin-bottom: 0; }

#ma .Faq dl dt {
position: relative;
font-size: 1.8rem;
font-weight: 700;
color: #086DB0;
margin-bottom: 20px;
padding: 0 0 20px 50px;
border-bottom: 1px solid #086DB0;
}
#ma .Faq dl dt::before {
content: 'Q.';
font-size: 3.5rem;
color: #086DB0;
position: absolute;
left: 0;
line-height: 0.6;
}
#ma .Faq dl dd { position: relative; padding: 0 0 0 50px; }
#ma .Faq dl dd::before {
content: 'A.';
font-size: 3.5rem;
color: #6BA7D0;
position: absolute;
left: 0;
line-height: 0.6;
}
#ma .Faq dl dd p { display: flex; margin-bottom: 5px; }
#ma .Faq dl dd p:last-child { margin-bottom: 0; }
#ma .Faq dl dd p span { flex-shrink: 0; padding-right: 10px; }


/*-------- お問い合わせ --------*/
#ma .contact { position: relative; }
#ma .contact .bg_grad_bl { z-index: 0; }
#ma .contact .hato { top: 0; right: 10%; left: auto; }

#ma .contact .w1000 {
position: relative;
background: #fff;
border: 1px solid #086DB0;
padding: 50px 100px;
box-sizing: border-box;
border-radius: 50px;
}

#ma .contact p { text-align: center; }
#ma .contact p span { display: block; color: #D1060A; font-weight: 700; }

#ma form  { margin-top: 50px; }

#ma form .com_table { width:100%; margin: 0 auto 30px; }
#ma form .com_table th {
width: 25%;
font-size: 1.7rem;
text-align: left;
vertical-align: top;
padding-bottom: 20px;
}
#ma form .com_table th span { color: #086DB0; }
#ma form .com_table td { padding-bottom: 20px; }
#ma form .com_table td p { text-align: left; }
#ma form .com_table td p span { font-size: 1.2rem; color: #000; }

#ma form input[type="text"],
#ma form input[type="date"],
#ma form textarea {
padding: 8px;
border: 1px solid #086DB0;
width: 100%;
box-sizing: border-box;
}
#ma form select {
padding: 8px;
border: 1px solid #086DB0;
box-sizing: border-box;
background: none;
color: #086DB0;
}

#ma .ma_link_btn01 a {
margin-top:30px;
margin-bottom:30px;
background: #333 none repeat scroll 0 0;
border-radius: 3px;
color: #fff;
display: inline-block;
padding: 10px 50px;
text-align: center;
text-decoration:none;
}
#ma .ma_link_btn01 a:hover { opacity:0.8; }

#ma ::placeholder { color: #999; }

#ma .error-info { color: #FF0000; }

#ma .ma-privacy__title {
font-size: 1em;
line-height: 1.6;
}

#ma .ma-privacy__wrap {
width: 100%;
height: 300px;
padding: 20px;
overflow-y: scroll;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
margin: 30px auto 60px;
background: #F1F1F1;
}

#ma .ma-privacy__list dt {
margin-top: 60px;
margin-bottom: 10px;
font-size: 1em;
line-height: 1.8;
}
#ma .ma-privacy__list dd { font-size: 1em; line-height: 1.8; }
#ma .ma-privacy__list dd:last-child { margin-bottom: 60px; }

#ma .ma-privacy__check {
max-width: 600px;
margin: 0 auto 10px;
padding: 10px;
background-color: rgba(8, 109, 176, .15);
text-align: center;
box-sizing: border-box;
font-size: 1.7rem;
}
#ma .ma-privacy__check input {
margin-right: 5px;
border: 1px solid #086DB0;
}

#ma form .pri_txt { text-align: center; margin-bottom: 30px; }
#ma form .pri_txt a { color: #086DB0; }
#ma form .pri_txt a:hover { text-decoration: underline;}

#ma form .pri_txt2 { margin-bottom: 30px; position: relative; }
#ma form .pri_txt2 li { position: relative; margin-bottom: 20px; padding-left: 20px; }
#ma form .pri_txt2 li::before {
content: "※";
position: absolute;
top: 0;
left: 0;
}
#ma form .pri_txt2 li a { color: #086DB0; }

#ma form .btn_flex { display: flex; justify-content: center; }

#ma form button[type="submit"],
#ma form input[type="submit"] {
width: 200px;
margin: 0 10px;
background:  #086DB0;
border:  #086DB0 1px solid;
border-radius: 10px;
color: #FFF;
font-weight: 700;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

#ma form button[type="submit"]:hover,
#ma form input[type="submit"]:hover {
opacity: .75;
}

#ma form .submit:hover {
background: #fff;
border: #086DB0 1px solid;
color: #086DB0;
}

#ma form .btn_back {
width: 200px;
margin: 0 10px;
background:  #fff;
border:  #086DB0 1px solid;
border-radius: 10px;
color: #086DB0;
font-weight: 700;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}
#ma form .btn_back:hover { opacity: .75; }

#ma .btn_top a{
width: 200px;
margin: 30px auto 0;
background:  #086DB0;
border:  #086DB0 1px solid;
border-radius: 10px;
color: #FFF;
font-weight: 700;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
display: inline-block;
}
#ma .btn_top a:hover {
background: #fff;
border: #086DB0 1px solid;
color: #086DB0;
}



/*安全への取り組み
---------------------------------------------*/
#safety { position: relative; padding: 150px 0 0; }

#safety h3 {
font-size: 3rem;
font-weight: 700;
color: #086DB0;
text-align: center;
margin-bottom: 20px;
}
#safety h3 span {
display: block;
width: fit-content;
font-size: 2rem;
font-weight: 700;
margin: 0 auto 20px;
padding: 5px 20px;
border: 1px solid #086DB0;
border-radius: 25rem;
}

#safety p.txt { font-size: 1.8rem; font-weight: 700; text-align: center; }

#safety .flex_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 60px 0 70px;
}

#safety .flex_wrap h4 {
font-weight: 700;
width: 130px;
height: 130px;
border-radius: 50%;
background: #0a5ea8;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
}

#safety .flex_wrap ol { width: calc(100% - 200px); }
#safety .flex_wrap ol li {
font-size: 1.7rem;
font-weight: 700;
list-style: decimal;
line-height: 1.5;
}
#safety .flex_wrap ol li::marker {
font-size: 3.2rem;
font-weight: 100;
color: #086DB0;
}

#safety ul.materials { margin-bottom: 100px; }
#safety ul.materials li {
margin: 0 0 20px 25px;
transition: all 0.4s ease 0s;
position: relative;
font-size: 1.7rem;
font-weight: 700;
list-style: decimal;
}
#safety ul.materials li::marker {
content: '■';
color: #086DB0;
}
#safety ul.materials li a { color: #086DB0; }
#safety ul.materials li a img { width: 16px; margin-left: 5px; }
#safety ul.materials li ul li { font-size: 1.5rem; font-weight: 500; margin: 0; }
#safety ul.materials li ul li::marker { content: ''; }

#safety .box_wrap h4 { font-size: 2.2rem; font-weight: 700; color: #086DB0; }
#safety .box_wrap .box {
padding: 50px 0;
border-bottom: 1px solid #086DB0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#safety .box_wrap .box:last-child { padding: 50px 0 0; border-bottom: none; }
#safety .box_wrap .box .img { width: 40%; border-radius: 10px; overflow: hidden; }
#safety .box_wrap .box .txt { width: 58%; }
#safety .box_wrap .box .txt h5 { font-size: 1.8rem; font-weight: 700; margin-bottom: 20px; }
#safety .box_wrap .box .txt p {  }
#safety .box_wrap .box .txt ol { margin-bottom: 20px; }
#safety .box_wrap .box .txt ol li {
font-size: 1.7rem;
font-weight: 700;
list-style: decimal;
margin: 0 0 10px 2rem;
}
#safety .box_wrap .box .txt ol li p { font-size: 1.5rem; font-weight: 500; }



/*地域と行政をつなぐ連携事業（PPP事業）
---------------------------------------------*/
#ppp { position: relative; padding: 150px 0 0; }

#ppp .bg_grad {
position: absolute;
width: 564px;
height: 564px;
left: 0px;
top: 150px;
border-radius: 50%;
background: linear-gradient(218.29deg, #FFFFFF 4.64%, #C2F7FF 50.87%, #76C8FF 95.36%);
filter: blur(25px);
z-index: -1;
}

#ppp .hed_block {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
margin:0 auto 100px;
}

#ppp .hed_block .txt_box {
position: relative;
margin: 0 50px 0 0;
}

#ppp .hed_block .txt_box .hed_ttl {
font-size: 4rem;
margin: 0 0 20px;
color: #086DB0;
line-height: 1.5;
}

#ppp .hed_block .txt_box .hed_txt {
font-size: 2rem;
}

#ppp .swiper-container {
position: relative;
width: 55%;
margin: 0 30px 0 0;
padding-bottom: 60px;
}

#ppp .swiper-container p { text-align: right; font-weight: 700; margin-bottom: 20px; }
#ppp .swiper-container p a { color: #086DB0; }
#ppp .swiper-container p a span {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle;
width: 20px;
height: 20px;
margin: 0 0 4px 10px;
background: #086DB0;
border-radius: 50%;
box-sizing: content-box;
}
#ppp .swiper-container p a span::before {
content: '';
width: 0.4em;
height: 0.4em;
border: 0.1em solid #fff;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: translateX(-20%) rotate(45deg);
}

#ppp .swiper-wrapper { height: fit-content; }
#ppp .swiper-slide { border-radius: 10px; }
#ppp .swiper-slide img { border-radius: 10px; }

#ppp .nav {
display: flex;
align-items: center;
justify-content: flex-end;
position: absolute;
right: 0; bottom: 0;
}
#ppp .swiper-pagination {
position: relative;
margin: 10px 20px 15px auto;
display: inline;
}
#ppp .swiper-pagination .swiper-pagination-bullet {
margin-left: 5px;
width: 10px;
height: 10px;
background: #D5D5D5;
opacity: 1;
}
#ppp .swiper-pagination .swiper-pagination-bullet-active {
background: #086DB0;
}

#ppp .nav .flex_wrap {
display: inline-flex;
background: #909090;
border-radius: 25rem;
}
#ppp .swiper-button-next,
#ppp .swiper-button-prev {
position: relative;
margin: 0;
width: 25px;
height: 25px;
background-size: contain;
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpolygon points='28,10 28,34 10,22' fill='%23ffffff'/%3E%3C/svg%3E");
 }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpolygon points='16,10 36,22 16,34' fill='%23ffffff'/%3E%3C/svg%3E");
 }

/* ボタン共通 */
#ppp .swiper-toggle {
position: relative;
z-index: 20;
width: 10px;
border: none;
cursor: pointer;
background: none;
margin: 0 40px;
}

/* ▶︎ 再生（停止中に表示） */
#ppp .swiper-toggle.is-paused::before {
content: '';
position: absolute;
left: 0px;
top: 5px;
width: 0;
height: 0;
border-style: solid;
border-width: 8px 0 8px 14px;
border-color: transparent transparent transparent #fff;
}

/* ⏸ 一時停止（再生中に表示） */
#ppp .swiper-toggle.is-playing::before,
#ppp .swiper-toggle.is-playing::after {
content: '';
position: absolute;
top: 5px;
width: 3px;
height: 16px;
background: #fff;
border-radius: 25rem;
}
#ppp .swiper-toggle.is-playing::before { left: 0; }
#ppp .swiper-toggle.is-playing::after { right: 0; }


#ppp .bg_white2 h3 {
font-size: 2.6rem;
font-weight: 700;
color: #086DB0;
text-align: center;
margin-bottom: 30px;
}

#ppp .bg_white2 .flex_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 0 0 60px;
}
#ppp .bg_white2 .flex_r { flex-direction: row-reverse; margin: 0; }
#ppp .bg_white2 .flex_wrap .img { width: 48%; border-radius: 10px; overflow: hidden; }
#ppp .bg_white2 .flex_wrap p { width: 48%; }

#ppp .bg_white2 .ppp {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 0 0 30px;
}
#ppp .bg_white2 .ppp h4 {
font-size: 1.8rem;
font-weight: 700;
width: 130px;
height: 130px;
border-radius: 50%;
background: #fff;
color: #086DB0;
display: flex;
align-items: center;
justify-content: center;
filter: drop-shadow(0px 0px 15px rgba(8, 109, 176, 0.2));
}

#ppp .bg_white2 .ppp p { width: calc(100% - 180px); }

#ppp .bg_white2 .illust {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 80px;
text-align: center;
}
#ppp .bg_white2 .illust .before { width: 39%; }
#ppp .bg_white2 .illust .after { width: 59%; }
#ppp .bg_white2 .illust h5 {
font-size: 1.8rem;
font-weight: 700;
background: #F3F5F5;
margin-bottom: 5px;
}
#ppp .bg_white2 .illust p { margin-bottom: 10px; }


#ppp .strengths { text-align: center; }
#ppp .strengths h3 {
font-size: 2.6rem;
font-weight: 700;
color: #086DB0;
margin-bottom: 30px;
}
#ppp .strengths p { margin-bottom: 50px; }



/*PPP実績一覧
---------------------------------------------*/
#ppp_list { position: relative; padding: 100px 0 100px; display: inline-table; }

#ppp_list .hed_block {
position: relative;
display: flex;
justify-content: space-between;
width: 950px;
}
#ppp_list .hed_block .txt_box {
position: relative;
width: 410px;
margin-top: 60px;
}
#ppp_list .hed_block .txt_box .hed_ttl {
font-size: 2.4rem;
font-weight: 700;
margin: 0 0 20px;
padding-bottom: 15px;
border-bottom: 1px solid #086DB0;
color: #086DB0;
line-height: 1.5;
display: flex;
justify-content: space-between;
align-items: end;
}
#ppp_list .hed_block .txt_box .hed_ttl span { font-size: 0.9rem; color: #000; text-align: right; }
#ppp_list .hed_block .txt_box .hed_txt { width: 90%; }

#ppp_list .cityList {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 30px;
margin-top: -550px;
position: relative;
}
#ppp_list .cityList li.list {
display: block;
background: #fff;
border-radius: 10px;
box-shadow: 0px 0px 15px rgba(33, 96, 125, 0.14);
}
#ppp_list .cityList li.list:nth-child(2) {
grid-column: 2;
grid-row: 1 / 4;
margin-top: 410px;
}
#ppp_list .cityList li.list:nth-child(6) { grid-column: 2; grid-row: 5 / 6; }
#ppp_list .cityList li.list:nth-child(7) { grid-column: 2; grid-row: 4 / 5; }
#ppp_list .cityList li.list:nth-child(9) { grid-column: 2; grid-row: 6 / 8; }
#ppp_list .cityList li.list:last-child { grid-column: 1 / -1; }

#ppp_list .cityList .cityCard {
padding: 30px 30px;
}
#ppp_list .cityList .cityCard h4 {
margin: 0 0 15px;
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
display: flex;
justify-content: space-between;
align-items: end;
line-height: 1;
}

#ppp_list .cityList .cityCard .bullets { list-style: disc; padding-left: 1.2em; }
#ppp_list .cityList .cityCard .bullets li::marker {
content: "⚫︎";
font-size: 1.5rem;
color: #086DB0;
}

#ppp_list .cityList .cityCard .img { margin: 10px 0 0; }
#ppp_list .cityList .cityCard .img img { border-radius: 10px; }
#ppp_list .cityList .cityCard .img figcaption {
font-size: 1.1rem;
text-align: right;
margin-top: 5px;
}

#ppp_list .cityList .cityCard .flex_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#ppp_list .cityList .cityCard .flex_wrap .bullets { width: 30%; }
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 5px 5px;
}
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail li {
width: 47%;
font-size: 1.3rem;
list-style: disc;
}
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail li::marker {
content: inherit;
color: #000;
}
#ppp_list .cityList .cityCard .flex_wrap .img {
width: 32%;
margin-top: 20px;
}



/*2030年のあるべき姿
---------------------------------------------*/
#vision { position: relative; padding: 150px 0 0; }

#vision .ttl span { font-size: 1.8rem; }

#vision .red_ttl{
font-size: 30px;
font-weight: bold;
color: #086DB0;
text-align: center;
line-height:1.6;
margin: 0 0 30px;
}

#vision .red_txt{
font-size: 15px;
font-weight: bold;
margin: 0 auto 100px;
}

#vision .vision_img{
width: 100%;
min-width: 1280px;
margin: 0 auto 140px;
overflow: hidden;
}

#vision .vision_img img{
width: 100%;
height: auto;
}

#vision .vision_block{
width:860px;
background: #FFFFFF;
box-shadow: 0px 0px 15px rgba(33, 96, 125, 0.14);
border-radius: 10px;
padding: 30px;
box-sizing: border-box;
margin: 0 auto;
display:flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
flex-direction: row-reverse;
}

#vision .vision_block .img{
width: 38%;
}

#vision .vision_block .img a{
transition: .3s;
}

#vision .vision_block .img a:hover{
opacity: .7;
}

#vision .vision_block .img img{
width: 100%;
height: auto;
}

#vision .vision_block .txt_box{
width: 60%;
}

#vision .vision_block .txt_box .ttl_s{
font-size: 20px;
font-weight: bold;
line-height: 1;
color: #086DB0;
margin: 0 0 10px;
}

#vision .vision_block .txt_box .txt{
font-size: 15px;
line-height: 1.7;
}

#vision .vision_bg{
background: url("../images/info/vision/vision_bg.png") center bottom no-repeat;
background-size: 100% auto;
padding-bottom: 150px;
box-sizing: border-box;
}





}
/* モバイルレイアウト : 480 px およびそれ以下. */
/*sp*/
@media only screen and (max-width: 767px) {


/* モーダル */
.org-modal {
position: fixed;
inset: 0;
z-index: 9999;
background: rgba(0,0,0,.75);
display: none;
align-items: center;
justify-content: center;
padding: 10px;
}
.org-modal.is-open { display: flex; }

.org-modal__inner {
position: relative;
width: 100%;
-webkit-overflow-scrolling: touch;
background: #fff;
border-radius: 12px;
padding: 10px 5px;
}

.org-modal__img {
display: block;
width: 100%;
height: auto;
}

.org-modal__close {
position: absolute;
top: -50px;
right: 5px;
width: 40px;
height: 40px;
border: 0;
border-radius: 999px;
background: #086DB0;
color: #fff;
font-size: 24px;
text-align: center;
}


/*トップ
---------------------------------------------*/
#info {
position: relative;
padding: 80px 0;
background: linear-gradient(270deg, rgba(155, 242, 255, 0.1) 0%, rgba(74, 184, 235, 0.1) 100%);
background-blend-mode: multiply;
}
#info ul { position: relative; margin-bottom: 60px; }
#info ul li {
margin-top: 20px;
background: #fff;
box-shadow: 0 0 20px rgba(0,0,0,0.15);
border-radius: 10px;
overflow: hidden;
}
#info ul li a { display: flex; align-items: center; }
#info ul li a .img { width: 35%; }
#info ul li a .img img { object-fit: cover; max-height: 60px; }
#info ul li a p { width: 65%; box-sizing: border-box; font-weight: 700; padding: 0 30px; }


#info .mb40 { margin-bottom: 20px; }

#info dl { margin-bottom: 30px; }
#info dl dt { font-size: 1.4rem; font-weight: 700; }
#info dl dd { font-size: 1.4rem; font-weight: 400; margin-bottom: 15px; }
#info dl dd a:hover { text-decoration: underline; }
#info dl dd img { width: 14px; margin-left: 5px; }

#info .btn { text-align: center; }
#info .btn a {
position: relative;
display: inline-block;
background: #086DB0;
font-weight: 700;
color: #FFF;
padding: 5px 100px 7px 30px;
border-radius: 25rem;
transition: all 0.3s;
}
#info .btn a:hover { opacity: 0.8; transition: all 0.3s; }
#info .btn a::before {
content: '';
position: absolute;
top: 40%; right: 25px;
width: 0.6em; height: 0.6em;
border: 0.2em solid #fff;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: rotate(45deg);
}



/*ニュースリリース
---------------------------------------------*/
#news { position: relative; padding: 70px 0 50px; }
#news::before {
content: '';
position: absolute;
width: 600px;
height: 600px;
bottom: -250px;
right: -250px;
background: linear-gradient(218.29deg, rgba(255, 255, 255, 0.4) 4.64%, rgba(194, 247, 255, 0.4) 36.92%, rgba(118, 200, 255, 0.8) 62.21%);
border-radius: 50%;
filter: blur(40px);
transform: matrix(-1, 0, 0, 1, 0, 0);
z-index: -1;
}

#news .logo {
position: absolute;
top: 60px; left: 5%;
width: 110px;
z-index: -1;
}

#news dl { margin-bottom: 30px; }
#news dl dt { font-size: 1.4rem; font-weight: 700; }
#news dl dd { font-size: 1.4rem; font-weight: 400; margin-bottom: 15px; }
#news dl dd a:hover { text-decoration: underline; }
#news dl dd img { width: 14px; margin-left: 5px; }

#news .fot { text-align: center; }
#news .fot .paging {}
#news .fot .paging span { margin: 0 5px; }
/*.fot .paging .disabled { display: none;}*/
#news .fot .paging span.current { font-weight: 700; color: #086DB0; border-bottom: 2px solid #086DB0; padding: 0 5px; }
#news .fot .paging span a { padding: 0 5px; }
#news .fot .paging span a.prev { color: #086DB0; font-size: 2rem; font-weight: 700; }
#news .fot .paging span a.next { color: #086DB0; font-size: 2rem; font-weight: 700; }



/*トップメッセージ
---------------------------------------------*/
#message { position: relative; padding: 80px 0; }

#message .hed_block { position: relative; width: 100%; margin: 0 auto 40px; }

#message .president_img { position: relative; width: 95%; margin: 0 0 20px auto; border-radius: 20px 0 0 20px; overflow: hidden; }
#message .president_img img { height: 220px; object-fit: cover; }

#message .hed_block .txt_box {
position: relative;
width: 90%;
margin: 0 auto;
text-align: center;
}
#message .hed_block .txt_box .hed_ttl {
font-size: 2rem;
margin: 0 0 20px;
}
#message .hed_block .txt_box .name { font-size: 1.5rem; }
#message .hed_block .txt_box .name span { font-size: 1.8rem; margin-left: 15px; }

#message .txt { margin: 0 0 40px; line-height: 2.2; }
#message .txt:last-child { margin-bottom: 0; }

#message .txt a { text-decoration: underline; }
#message .txt a:hover { text-decoration: none; }



/*企業理念・ビジョン・行動指針
---------------------------------------------*/
#philosophy { position: relative; padding: 80px 0 0; }

#philosophy .table01 { width: 100%; margin: 0 0 30px; }
#philosophy .table01 tr {
display: block;
margin-bottom: 30px;
padding-bottom: 30px;
border-bottom: 1px solid #086DB0;
}
#philosophy .table01 tr:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}

#philosophy .table01 th {
display: block;
font-weight: 700;
color: #086DB0;
text-align: center;
margin-bottom: 10px;
}

#philosophy .table01 td {
display: block;
font-size: 2rem;
font-weight: 700;
text-align: center;
}
#philosophy .table01 td.left { text-align: left; }

#philosophy .table01 td dl { margin-top: 40px; }
#philosophy .table01 td dl dt {
width: 50%;
margin: 0 auto 10px;
font-size: 1.5rem;
font-weight: 700;
color: #086DB0;
border-radius: 25rem;
border: 1px solid #0a5ea8;
padding: 5px 20px;
}
#philosophy .table01 td dl dd { font-size: 1.5rem; font-weight: 400; text-align: left; }
#philosophy .table01 td dl dd span {
display: block;
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 10px;
text-align: center;
}


#philosophy .data {
text-align: right;
font-size: 1.5rem;
font-weight: 700;
}
#philosophy .data a { color: #086DB0; }
#philosophy .data a img { width: 16px; margin-left: 5px; }



/*企業概要
---------------------------------------------*/
#overview { position: relative; padding: 80px 0 0; }
#overview .table01{
width: 100%;
margin: 0 0 20px;
}

#overview .table01 tr{
border-bottom: 1px solid #086DB0;
}
#overview .table01 tr:last-child{
border-bottom: none;
}

#overview .table01 th{
width: 35%;
padding: 10px 0px;
box-sizing: border-box;
text-align: left;
font-weight: normal;
vertical-align: top;
}

#overview .table01 td{
padding: 10px 0px;
box-sizing: border-box;
}

#overview .table01 td dl{
margin-bottom: 10px;
}

#overview .table01 td p{
font-size: 1.5rem;
}

#overview .data{
text-align: right;
font-size: 12px;
}



/*役員一覧
---------------------------------------------*/
#executives { position: relative; padding: 80px 0 0; }

#executives .table01{
width: 100%;
margin: 0 0 20px;
}

#executives .table01 tr{
border-bottom: 1px solid #086DB0;
}
#executives .table01 tr:last-child{
border-bottom: none;
}

#executives .table01 th{
width: 35%;
padding: 10px 0px;
box-sizing: border-box;
text-align: left;
font-weight: normal;
vertical-align: top;
font-size: 1.4rem;
}

#executives .table01 td{
padding: 10px 0px;
box-sizing: border-box;
font-size: 1.4rem;
vertical-align: middle;
}

#executives .data{
text-align: right;
font-size: 12px;
}



/*組織図
---------------------------------------------*/
#organization { position: relative; padding: 80px 0; }
#organization .bg_white { border-radius: 30px; }



/*沿革
---------------------------------------------*/
#history { position: relative; padding: 80px 0 0; }

#history ul.point {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-bottom: 40px;
}
#history ul.point li {
position: relative;
width: fit-content;
padding: 2px 20px;
margin-left: 30px;
background: #fff;
border: 1px solid;
border-radius: 25rem;
box-sizing: border-box;
color: #086DB0;
font-weight: 700;
text-align: center;
}
#history ul.point li:first-child { margin: 0 20px; }
#history ul.point li::before {
content: "";
background-color: #086DB0;
display: block;
width: 20px;
height: 2px;
border-radius: 25rem;
position: absolute;
top: 50%;
left: -20px;
}
#history ul.point li::after {
content: "";
background-color: #086DB0;
display: block;
width: 13px;
height: 13px;
border-radius: 25rem;
position: absolute;
top: 30%;
left: -30px;
}
#history ul.point li:nth-child(2)::after { background-color: #D5D5D5; }


#history ul.history_wrap li { position: relative; }

#history ul.history_wrap li p,
#history ul.history_wrap li caption {
font-weight: 700;
color: #086DB0;
padding: 5px 25px;
background: #fff;
border: 1px solid #086DB0;
border-radius: 25rem;
display: inline-block;
margin: 0 10px 20px 0;
}

#history ul.history_wrap li .main { position: relative; padding: 0 0 40px 80px; }
#history ul.history_wrap li .main::before {
content: "";
position: absolute;
top: 0;
left: 15px;
width: 15px;
height: 100%;
background: #fff;
}

#history ul.history_wrap li .no {
position: relative;
font-size: 2.4rem;
font-weight: 700;
line-height: 1;
color: #086DB0;
margin-bottom: 10px;
}
#history ul.history_wrap li .no::before {
content: "";
background-color: #086DB0;
display: block;
width: 40px;
height: 2px;
border-radius: 25rem;
position: absolute;
top: 50%;
left: -55px;
}
#history ul.history_wrap li .no::after {
content: "";
background-color: #086DB0;
display: block;
width: 15px;
height: 15px;
border-radius: 25rem;
position: absolute;
top: 5px;
left: -65px;
}
#history ul.history_wrap li:first-child .no::after {
width: 35px;
height: 35px;
left: -75px;
top: -5px;
}

#history ul.history_wrap li .main dl {  }
#history ul.history_wrap li .main dl:nth-of-type(2n) {
border-top: 1px solid #D5D5D5;
padding-top: 10px;
margin-top: 10px;
}
#history ul.history_wrap li .main dt { position: relative; margin-bottom: 2px; }
#history ul.history_wrap li .main dd { line-height: 1.5; }
#history ul.history_wrap li .main dd figure { margin-top: 10px; }
#history ul.history_wrap li .main dd figure img { margin: 0; border-radius: 10px; }
#history ul.history_wrap li .main dd figcaption { font-size: 1.3rem; display: block; }


#history ul.history_wrap li .sub { position: relative; padding: 0 0 40px 40px; }
#history ul.history_wrap li .sub::before {
content: "";
position: absolute;
top: 0;
left: 15px;
width: 15px;
height: 100%;
background: #fff;
}

#history ul.history_wrap li .sub table {  }
#history ul.history_wrap li .sub tr { position: relative; margin: 10px 0 0; display: flex; }
#history ul.history_wrap li .sub tr:first-child { margin: 0; }
#history ul.history_wrap li .sub tr::after {
content: "";
background-color: #D5D5D5;
display: block;
width: 15px;
height: 15px;
border-radius: 25rem;
position: absolute;
top: 5px;
left: -25px;
}

#history ul.history_wrap li .sub th { width: 50px; font-size: 1.4rem; padding: 0; }
#history ul.history_wrap li .sub td { font-size: 1.4rem; }


/*-------- accordion --------*/
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
padding: 0 0 10px;
}

.accordion-content dl {
border-top: 1px solid #D5D5D5;
padding-top: 10px;
margin-top: 10px;
}

.accordion-btn {
width: 100%;
padding: 15px 20px;
background: #fff;
border: none;
border-radius: 10px;
font-size: 1.6rem;
font-weight: 700;
text-align: left;
position: relative;
cursor: pointer;
color: #086DB0;
}

.accordion-btn .icon {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: middle;
position: absolute;
top: 50%;
right: 20px;
transform: translateY(-50%);
width: 24px;
height: 24px;
background: #086DB0;
border-radius: 50%;
box-sizing: content-box;
}
.accordion-btn .icon::after,
.accordion-btn .icon::before {
content: "";
position: absolute;
right: 50%;
top: 50%;
width: 10px;
height: 2px;
background: #fff;
transform: translate(50%, -50%);
transition: 0.3s;
}
.accordion-btn .icon::before { transform: translate(50%, -50%) rotate(90deg); }
.accordion-btn.active .icon::before { opacity: 0; }


/*-------- 100周年 --------*/
#history .history_100th {
position: relative;
padding: 23px 0 80px 40px;
display: flex;
}
#history .history_100th::before {
content: "";
position: absolute;
top: 0;
left: 15px;
width: 15px;
height: 100%;
background: #fff;
}
#history .history_100th::after {
content: "";
background-color: #086DB0;
display: block;
width: 15px;
height: 15px;
border-radius: 25rem;
position: absolute;
top: 35%;
left: 15px;
}

#history .history_100th p {
position: relative;
margin: 0 0 0 80px;
text-align: center;
font-weight: 700;
color: #fff;
background: linear-gradient(304.79deg, #086DB0 14.02%, #14A6F4 87.12%);
border-radius: 25rem;
padding: 25px;
width: 90px;
height: 90px;
}
#history .history_100th p::before {
content: '';
border: 2px solid #086DB0;
border-radius: 25rem;
position: absolute;
top: -12px;
left: -12px;
width: 160px;
height: 160px;
}
#history .history_100th p::after {
content: "";
background-color: #086DB0;
display: block;
width: 90px;
height: 2px;
border-radius: 25rem;
position: absolute;
top: 50%;
left: -100px;
}

#history .history_100th p span {
display: block;
border-bottom: 1px solid #fff;
padding-bottom: 3px;
margin-bottom: 3px;
}
#history .history_100th p strong {
font-size: 3.2rem;
}



/*M&A・事業承継
---------------------------------------------*/
#ma { position: relative; padding: 80px 0 0; }
#ma .bg_white { border-radius: 20px; margin-bottom: 50px; }
#ma .bg_w { background: #fff; padding: 50px 0; }

#ma h3 {
font-size: 2.2rem;
font-weight: 700;
line-height: 1;
color: #086DB0;
text-align: center;
margin-bottom: 20px;
position: relative;
z-index: 1;
}
#ma h4 { font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 20px; }


/*-------- M&A基本方針 --------*/
#ma .Policy .imgbox { margin-top: 20px; }
#ma .Policy .imgbox .img { border-radius: 10px; overflow: hidden; }


/*-------- 投資方針・対象領域 --------*/
#ma .Investment {  }
#ma .Investment h3 { margin-bottom: 5px; }
#ma .Investment p.txt { text-align: center; }

#ma .Investment .flex_wrap { margin: 20px 0; }
#ma .Investment .flex_wrap .box { margin-bottom: 10px; }
#ma .Investment .flex_wrap .box:last-child { margin-bottom: 0; }
#ma .Investment .flex_wrap .box h5 {
font-size: 1.8rem;
font-weight: 700;
color: #fff;
text-align: center;
background: #14A6F4;
padding: 10px;
border-radius: 20px 20px 0 0;
}
#ma .Investment .flex_wrap .box:nth-child(2) h5 { background: #086DB0; }
#ma .Investment .flex_wrap .box ul {
border: 1px solid #D5D5D5;
padding: 10px 20px;
border-radius: 0 0 20px 20px;
}
#ma .Investment .flex_wrap .box ul li {
padding-left: 20px;
position: relative;
}
#ma .Investment .flex_wrap .box ul li::before {
content: '⚫︎';
color: #086DB0;
position: absolute;
left: 0;
}
#ma .Investment .flex_wrap .box p {
border: 1px solid #D5D5D5;
padding: 20px;
border-radius: 0 0 20px 20px;
}

#ma .Investment .img { position: relative; }
#ma .Investment .zoom {
position: absolute;
bottom: 0px;
right: 0px;
width: 6%;
padding: 15px;
background: #086DB0;
border-radius: 25rem;
cursor: pointer;
}


/*-------- 事業承継型M&Aの流れ --------*/
#ma .Flow { margin-top: 50px; }

#ma .Flow .flow_box { display: flex; flex-wrap: wrap; justify-content: space-between; }
#ma .Flow .flow_box:first-of-type { position: relative; padding-bottom: 70px; }
#ma .Flow .flow_box:first-of-type::after {
content: '';
position: absolute;
width: 100px;
height: 45px;
right: 0;
left: 0;
bottom: 10px;
margin: auto;
background: linear-gradient(360deg, #086DB0 20%, #C9DAFF 100%);
clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#ma .Flow .flow_box h5 {
font-size: 1.8rem;
font-weight: 700;
color: #fff;
background: #086DB0;
padding: 30px 5px;
border-radius: 10px;
writing-mode: vertical-rl;
box-sizing: border-box;
}
#ma .Flow .flow_box ul { width: calc(100% - 55px); }
#ma .Flow .flow_box ul li {
border: 1px solid #086DB0;
padding: 20px;
border-radius: 10px;
box-sizing: border-box;
margin-bottom: 10px;
font-size: 1.2rem;
}
#ma .Flow .flow_box ul li:last-child { margin-bottom: 0; }
#ma .Flow .flow_box ul li.flex { position: relative; }
#ma .Flow .flow_box ul li.flex p {
font-size: 1.2rem;
font-weight: 700;
color: #086DB0;
text-align: center;
padding: 15px;
margin-top: 15px;
border-radius: 10px;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
}

#ma .Flow .flow_box ul li span {
font-size: 1.8rem;
font-weight: 700;
color: #086DB0;
display: block;
margin-bottom: 5px;
}


/*-------- よくあるご質問 --------*/
#ma .Faq { padding: 50px 0 0; }

#ma .Faq dl {
padding: 30px;
border-radius: 10px;
box-sizing: border-box;
margin-bottom: 40px;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
}
#ma .Faq dl:last-child { margin-bottom: 0; }

#ma .Faq dl dt {
position: relative;
font-size: 1.8rem;
font-weight: 700;
line-height: 1.5;
color: #086DB0;
margin-bottom: 20px;
padding: 0 0 20px 45px;
border-bottom: 1px solid #086DB0;
}
#ma .Faq dl dt::before {
content: 'Q.';
font-size: 3.5rem;
color: #086DB0;
position: absolute;
left: 0;
line-height: 0.6;
}
#ma .Faq dl dd { position: relative; padding: 0 0 0 45px; font-size: 1.2rem; }
#ma .Faq dl dd::before {
content: 'A.';
font-size: 3.5rem;
color: #6BA7D0;
position: absolute;
left: 0;
line-height: 0.6;
}
#ma .Faq dl dd p { margin-bottom: 10px; }
#ma .Faq dl dd p:last-child { margin-bottom: 0; }
#ma .Faq dl dd p span {  }


/*-------- お問い合わせ --------*/
#ma .contact { position: relative; }
#ma .contact .bg_grad_bl { z-index: 0; }
#ma .contact .hato { top: -20px; right: 5%; left: auto; width: 21%; }

#ma .contact .w1000 {
position: relative;
background: #fff;
border: 1px solid #086DB0;
padding: 30px 20px;
box-sizing: border-box;
border-radius: 20px;
}

#ma .contact p { text-align: center; }
#ma .contact p span { display: block; color: #D1060A; font-weight: 700; }

#ma form  { margin-top: 30px; }

#ma form .com_table { width:100%; margin: 0 auto 20px; }
#ma form .com_table th {
display: block;
font-size: 1.6rem;
text-align: left;
vertical-align: top;
padding-bottom: 5px;
}
#ma form .com_table th span { color: #086DB0; }
#ma form .com_table td { display: block; margin-bottom: 10px; }
#ma form .com_table td p { text-align: left; }
#ma form .com_table td p span { font-size: 1.2rem; color: #000; }

#ma form input[type="text"],
#ma form input[type="date"],
#ma form textarea {
padding: 10px;
border: 1px solid #086DB0;
width: 100%;
box-sizing: border-box;
}
#ma form select {
padding: 8px;
border: 1px solid #086DB0;
box-sizing: border-box;
background: none;
color: #086DB0;
width: 100%;
}

#ma .ma_link_btn01 a {
margin-top:30px;
margin-bottom:30px;
background: #333 none repeat scroll 0 0;
border-radius: 3px;
color: #fff;
display: inline-block;
padding: 10px 50px;
text-align: center;
text-decoration:none;
}
#ma .ma_link_btn01 a:hover { opacity:0.8; }

#ma ::placeholder { color: #999; }

#ma .error-info { color: #FF0000; }

#ma .ma-privacy__title {
font-size: 1em;
line-height: 1.6;
}

#ma .ma-privacy__wrap {
width: 100%;
height: 300px;
padding: 20px;
overflow-y: scroll;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
margin: 30px auto 60px;
background: #F1F1F1;
}

#ma .ma-privacy__list dt {
margin-top: 60px;
margin-bottom: 10px;
font-size: 1em;
line-height: 1.8;
}
#ma .ma-privacy__list dd { font-size: 1em; line-height: 1.8; }
#ma .ma-privacy__list dd:last-child { margin-bottom: 60px; }

#ma .ma-privacy__check {
margin: 0 auto 5px;
padding: 10px;
background-color: rgba(8, 109, 176, .15);
box-sizing: border-box;
font-size: 1.2rem;
}
#ma .ma-privacy__check .form__checkbox {
display: flex;
}
#ma .ma-privacy__check input {
margin-right: 5px;
border: 1px solid #086DB0;
}

#ma form .pri_txt { text-align: center; margin-bottom: 10px; }
#ma form .pri_txt a { color: #086DB0; }
#ma form .pri_txt a:hover { text-decoration: underline;}

#ma form .pri_txt2 { margin-bottom: 20px; position: relative; }
#ma form .pri_txt2 li { position: relative; padding-left: 20px; }
#ma form .pri_txt2 li::before {
content: "※";
position: absolute;
top: 0;
left: 0;
}
#ma form .pri_txt2 li a { color: #086DB0; }

#ma form button[type="submit"],
#ma form input[type="submit"] {
width: 200px;
margin: 0 5px;
background:  #086DB0;
border:  #086DB0 1px solid;
border-radius: 10px;
color: #FFF;
font-weight: 700;
padding: 15px 10px;
cursor: pointer;
transition: 0.5s;
}

#ma form button[type="submit"]:hover,
#ma form input[type="submit"]:hover {
opacity: .75;
}

#ma form .submit:hover {
background: #fff;
border: #086DB0 1px solid;
color: #086DB0;
}

#ma form .btn_flex { display: flex; justify-content: center; margin-bottom: 20px; }
#ma form .btn_flex button[type="submit"],
#ma form .btn_flex input[type="submit"] { width: 150px; }

#ma form .btn_back {
width: 150px;
margin: 0 5px;
background:  #fff;
border:  #086DB0 1px solid;
border-radius: 10px;
color: #086DB0;
font-weight: 700;
padding: 15px 10px;
cursor: pointer;
transition: 0.5s;
}
#ma form .btn_back:hover { opacity: .75; }

#ma .btn_top a{
width: 200px;
margin: 30px auto 0;
background:  #086DB0;
border:  #086DB0 1px solid;
border-radius: 25rem;
color: #FFF;
font-weight: 700;
padding: 5px 10px;
cursor: pointer;
transition: 0.5s;
display: inline-block;
box-sizing: border-box;
}
#ma .btn_top a:hover { opacity: .75; }



/*安全への取り組み
---------------------------------------------*/
#safety { position: relative; padding: 80px 0 0; }

#safety h3 {
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
text-align: center;
margin-bottom: 20px;
}
#safety h3 span {
display: block;
width: fit-content;
font-size: 1.5rem;
font-weight: 700;
margin: 0 auto 15px;
padding: 5px 30px;
border: 1px solid #086DB0;
border-radius: 25rem;
}

#safety p.txt { font-size: 1.5rem; font-weight: 700; text-align: center; }

#safety .flex_wrap { margin: 30px 0 40px; }
#safety .flex_wrap h4 {
font-size: 1.8rem;
font-weight: 700;
border-radius: 8px;
background: #0a5ea8;
color: #fff;
text-align: center;
margin-bottom: 20px;
padding: 5px;
}

#safety .flex_wrap ol {
  counter-reset: num;
}

#safety .flex_wrap ol li {
  counter-increment: num;
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  margin: 10px 0 0 3rem;
}

#safety .flex_wrap ol li::before {
  content: counter(num) ".";
  position: absolute;
  left: -3rem;
  top: 0;
  font-size: 2.8rem;
  font-weight: 100;
  color: #086DB0;
  line-height: 1;
}

#safety ul.materials { margin-bottom: 50px; }
#safety ul.materials li {
margin: 0 0 20px 20px;
transition: all 0.4s ease 0s;
position: relative;
font-size: 1.6rem;
font-weight: 700;
list-style: decimal;
}
#safety ul.materials li::marker {
content: '■';
color: #086DB0;
}
#safety ul.materials li a { color: #086DB0; }
#safety ul.materials li a img { width: 16px; margin-left: 5px; }

#safety ul.materials li ul li { font-size: 1.5rem; font-weight: 500; margin: 0; }
#safety ul.materials li ul li::marker { content: '・'; }

#safety .box_wrap h4 { font-size: 2.2rem; font-weight: 700; color: #086DB0; margin-bottom: 10px; }
#safety .box_wrap .box {
padding: 0px 0 30px;
margin-bottom: 30px;
border-bottom: 1px solid #086DB0;
}
#safety .box_wrap .box:last-child { margin: 0; padding: 0; border-bottom: none; }
#safety .box_wrap .box .img { border-radius: 10px; overflow: hidden; margin-bottom: 10px; }
#safety .box_wrap .box .img img { height: 200px; object-fit: cover; }
#safety .box_wrap .box .txt h5 { font-size: 1.8rem; font-weight: 700; }
#safety .box_wrap .box .txt p { margin-top: 10px; }
#safety .box_wrap .box .txt ol { margin-top: 10px; }
#safety .box_wrap .box .txt ol li {
font-weight: 700;
list-style: decimal;
margin: 0 0 0 2rem;
}
#safety .box_wrap .box .txt ol li p { font-weight: 500; margin: 0; }



/*地域と行政をつなぐ連携事業（PPP事業）
---------------------------------------------*/
#ppp { position: relative; padding: 80px 0 0; }

#ppp .bg_grad {
position: absolute;
width: 80vw;
height: 80vw;
left: 0px;
right: 0px;
top: 200px;
margin: auto;
border-radius: 50%;
background: linear-gradient(298.29deg, #FFF 4.64%, #C2F7FF 50.87%, #76C8FF 95.36%);
filter: blur(25px);
z-index: -1;
}

#ppp .hed_block {
position: relative;
margin:0 auto 50px;
}

#ppp .hed_block p.btn { text-align: center; }
#ppp .hed_block p.btn a {
position: relative;
background: #086DB0;
font-size: 1.6rem;
font-weight: 700;
color: #FFF;
padding: 10px 50px;
border-radius: 25rem;
}

#ppp .hed_block .txt_box {
position: relative;
margin: 0 auto 30px;
text-align: center;
}
#ppp .hed_block .txt_box .hed_ttl {
font-size: 3rem;
margin: 100px 0 10px;
color: #086DB0;
line-height: 1.5;
}
#ppp .hed_block .txt_box .hed_txt { font-size: 1.8rem; }

#ppp .swiper-container {
position: relative;
width: 100%;
margin: 0 auto;
}

#ppp .swiper-wrapper { height: fit-content; }
#ppp .swiper-slide { border-radius: 10px; }
#ppp .swiper-slide img { border-radius: 10px; }

#ppp .nav {
display: flex;
align-items: center;
justify-content: center;
margin: 30px 0;
}
#ppp .nav .swiper-pagination { position: relative; margin-right: 30px; }
#ppp .nav .swiper-pagination .swiper-pagination-bullet {
margin-left: 10px;
width: 12px;
height: 12px;
background: #D5D5D5;
opacity: 1;
}
#ppp .nav .swiper-pagination .swiper-pagination-bullet-active {
background: #086DB0;
}

#ppp .nav .flex_wrap { display: inline-flex; }
#ppp .nav .swiper-button-next,
#ppp .nav .swiper-button-prev {
position: relative;
margin: 0;
width: 25px;
height: 25px;
background-size: contain;
}
#ppp .nav .swiper-button-prev.swiper-button-white,
#ppp .nav .swiper-container-rtl .swiper-button-next.swiper-button-white {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill='%23086DB0'/%3E%3Cpath d='M24 14 L18 22 L24 30' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
margin-right: 10px;
top: 0;
left: 0;
right: 0;
}

#ppp .nav .swiper-button-next.swiper-button-white,
#ppp .nav .swiper-container-rtl .swiper-button-prev.swiper-button-white {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill='%23086DB0'/%3E%3Cpath d='M20 14 L26 22 L20 30' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
margin-right: 10px;
top: 0;
left: 0;
right: 0;
}

/* ボタン共通 */
#ppp .nav .swiper-toggle {
position: relative;
z-index: 20;
width: 25px;          /* prev/nextと同サイズ推奨 */
height: 25px;
border: none;
cursor: pointer;
background: #086DB0;
border-radius: 50%;
padding: 0;
}

/* ▶︎ 再生（停止中に表示） */
#ppp .nav .swiper-toggle.is-paused::before {
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-45%, -50%);
width: 0;
height: 0;
border-style: solid;
border-width: 6px 0 6px 10px;
border-color: transparent transparent transparent #fff;
}


/* ⏸ 一時停止（再生中に表示） */
#ppp .nav .swiper-toggle.is-playing::before,
#ppp .nav .swiper-toggle.is-playing::after {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 12px;
background: #fff;
border-radius: 2px;
}

#ppp .nav .swiper-toggle.is-playing::before { left: 8px; }
#ppp .nav .swiper-toggle.is-playing::after  { right: 8px; }


#ppp .bg_white2 h3 {
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
text-align: center;
margin-bottom: 20px;
}

#ppp .bg_white2 .flex_wrap { margin: 0 0 30px; }
#ppp .bg_white2 .flex_r { margin: 0; }
#ppp .bg_white2 .flex_wrap .img { margin-bottom: 10px; border-radius: 10px; overflow: hidden; }

#ppp .bg_white2 .ppp { margin: 0 0 30px; }
#ppp .bg_white2 .ppp h4 {
font-size: 1.8rem;
font-weight: 700;
color: #086DB0;
border-bottom: 1px solid;
width: fit-content;
margin: 0 auto 10px;
}

#ppp .bg_white2 .illust {
margin: 0 0 50px;
text-align: center;
}
#ppp .bg_white2 .illust .before { margin-bottom: 20px; }
#ppp .bg_white2 .illust .after {  }
#ppp .bg_white2 .illust h5 {
font-size: 1.6rem;
font-weight: 700;
background: #F3F5F5;
margin-bottom: 10px;
}
#ppp .bg_white2 .illust p { font-size: 1.5rem; font-weight: 700; margin-bottom: 10px; }


#ppp .strengths { text-align: center; }
#ppp .strengths h3 {
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
margin-bottom: 20px;
}
#ppp .strengths p { margin-bottom: 30px; }



/*PPP実績一覧
---------------------------------------------*/
#ppp_list { position: relative; padding: 80px 0 50px; display: inline-table; }

#ppp_list .hed_block {
position: relative;
}
#ppp_list .hed_block .txt_box {
position: relative;
margin-bottom: 20px;
}
#ppp_list .hed_block .txt_box .hed_ttl {
font-size: 2rem;
font-weight: 700;
margin: 0 auto 10px;
border-bottom: 1px solid #086DB0;
line-height: 1.5;
width: fit-content;
}
#ppp_list .hed_block .txt_box .hed_ttl span { font-size: 0.9rem; color: #000; text-align: right; }
#ppp_list .hed_block .txt_box .hed_txt {  }

#ppp_list .cityList { position: relative; margin-top: -80px; }
#ppp_list .cityList li.list {
display: block;
background: #fff;
border-radius: 10px;
box-shadow: 0px 0px 15px rgba(33, 96, 125, 0.14);
margin-bottom: 30px;
}

#ppp_list .cityList .cityCard {
padding: 30px 20px;
}
#ppp_list .cityList .cityCard h4 {
margin: 0 0 15px;
font-size: 2.2rem;
font-weight: 700;
color: #086DB0;
display: flex;
justify-content: space-between;
align-items: end;
line-height: 1;
}

#ppp_list .cityList .cityCard .bullets { list-style: disc; padding-left: 1.2em; }
#ppp_list .cityList .cityCard .bullets li::marker {
content: "⚫︎";
font-size: 1.5rem;
color: #086DB0;
}

#ppp_list .cityList .cityCard .img { margin: 10px 0 0; }
#ppp_list .cityList .cityCard .img img { border-radius: 10px; }
#ppp_list .cityList .cityCard .img figcaption {
font-size: 1.1rem;
text-align: right;
margin-top: 5px;
}

#ppp_list .cityList .cityCard .flex_wrap {  }
#ppp_list .cityList .cityCard .flex_wrap .bullets {  }
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail {
margin: 0 0 5px 5px;
}
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail li {
font-size: 1.3rem;
list-style: disc;
}
#ppp_list .cityList .cityCard .flex_wrap .bullets .detail li::marker {
content: inherit;
color: #000;
}
#ppp_list .cityList .cityCard .flex_wrap .img {
margin-top: 20px;
}




/*2030年のあるべき姿
---------------------------------------------*/
#vision {
position: relative;
padding: 80px 0 0;
}

#vision .ttl span {
font-size: 1.8rem;
}

#vision .red_ttl {
font-size: 2.2rem;
font-weight: bold;
color: #086DB0;
text-align: center;
line-height: 1.6;
margin: 0 0 30px;
}

#vision .red_txt {
width: 88%;
font-size: 15px;
font-weight: bold;
line-height: 1.8;
margin: 0 auto 35px;
}

#vision .vision_img {
width:90%;
margin: 0 auto 30px;
overflow: hidden;
}

#vision .vision_block {
width: 80%;
background: #FFFFFF;
box-shadow: 0px 0px 15px rgba(33, 96, 125, 0.14);
border-radius: 20px;
padding: 30px;
box-sizing: border-box;
margin: 0 auto;
}
#vision .vision_block .img {
width: 100%;
}
#vision .vision_block .img a {
transition: .3s;
}
#vision .vision_block .img a:hover {
opacity: .7;
}
#vision .vision_block .img img {
width: 100%;
height: auto;
}
#vision .vision_block .txt_box {
width: 100%;
margin: 0 0 20px;
}

#vision .vision_block .txt_box .ttl_s {
font-size: 2rem;
font-weight: bold;
line-height: 1;
color: #086DB0;
margin: 0 0 20px;
}

#vision .vision_block .txt_box .ttl_s span{
font-size: 1.6rem;
}

#vision .vision_block .txt_box .txt {
font-size: 15px;
line-height: 1.7;
}

#vision .vision_bg {
background: url("../images/info/vision/vision_bg.png") center bottom no-repeat;
background-size:320% auto;
padding-bottom: 30px;
box-sizing: border-box;
}


}