@charset 'utf-8';
a{
text-decoration: none;
}
ul,li{
list-style: none;
}
main{
background-color: #FFF;
/*height: 800px;*/
display: flex;
}
.main{
margin: auto;
}
.footer div{
margin: auto;
}

@media screen and (min-width: 768px){
    .reverse{
    flex-direction: row-reverse !important;
    }
}

body{
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN", "HG明朝E", "MS P明朝", "MS 明朝", serif;
line-height: 1.5;
-webkit-text-size-adjust: 100%;
color:#333;
position: relative;
background-color: #FFF;
margin: 0;
min-height: 100vh;
font-size: 20px;
}

.header{
background-color: #ffffff;
width: 100%;
position: fixed;
top: 0;
left: 0;
right: 0;
padding-top: 12px;
padding-bottom: 12px;
z-index: 999;
border-bottom: 2px solid #c7000d;
}
.header_inner{
padding: 0 20px;
display: flex;
align-items: center;
justify-content: space-between;
height: inherit;
position: relative;
}

/*ナビ*/
.header_title {
width: 80px;
}
.header_title img {
display: block;
width: 100%;
height: 100%;
}
.header_nav {
position: absolute;
right: 0;
left: 0;
top: 0;
width: 100%;
height: 100Vh;
transform: translateX(100%);
background-color: #FFF; /*ハンバーガーメニュー背景色*/
transition: ease .4s;
}

@media screen and (min-width: 768px){
    .header_nav{
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 470px;
    }
}
@media screen and (min-width: 768px){
    .nav_items{
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
    }
}
.nav_items{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px){
    .nav_items{
    position: inherit;
    top: 0;
    left: 0;
    transform:translate(0, 0);
    gap: 20px;
    }
}

.nav_items_item{
border-top: 1px solid #adadad;
border-bottom: 1px solid #adadad;
margin-bottom: -1px;
margin-top: -1px;
}
.nav_items_item+.nav_items_item{
border-top: none;
}
.nav_items_item a{
color: #333;
width: 100%;
display: block;
text-align: center;
font-size: 20px;
padding:  16px 0 16px 0;
}

.nav_items_item2L a {
    border: none;
    border-top: dashed 1px #adadad;
    color: #333;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 20px;
    padding: 16px 0 16px 0;
}

@media screen and (min-width: 768px){
    .nav_items_item{
    border-top: none;
    border-bottom: none;
    margin-bottom: 0;
    margin-top: 0;
    }
    .nav_items_item a{
    border-bottom: none;
    margin-bottom: 0;
    }
    .nav_items_item a:hover{
    opacity: 0.6;
    border-bottom: 1px solid #666;
    }
    .nav_items_item a{
    padding:  0;
    }

    .nav_items_item2L{
        display: none;
    }

}

/*ハンバーガーメニュー*/
.header_hamburger {
width: 32px;
height: 100%;
}
.hamburger {
background-color: transparent;
border-color: transparent;
z-index: 9999;
}
@media screen and (min-width: 768px){
    .hamburger{
    display: none;
    }
}

/*ハンバーガーメニュー線*/
.hamburger span {
width: 100%;
height: 2.3px;
background-color: #c7000d;
position: relative;
transition: ease .4s;
display: block;
}
.hamburger span:nth-child(1){
top: 0;
}
.hamburger span:nth-child(2){
margin: 8px 0;
}
.hamburger span:nth-child(3){
top: 0;
}

/*ハンバーガーメニュークリック調整*/
.header_nav.active{
transform: translateX(0);
}
.hamburger.active span:nth-child(1){
top: 7px;
transform: rotate(45deg);
}
.hamburger.active span:nth-child(2){
opacity: 0;
}
.hamburger.active span:nth-child(3){
top: -13px;
transform: rotate(-45deg);
}

/*メインコンテンツ*/
main{
max-width: 1000px;
display: block;
margin-top: 52px;
margin-right: auto;
margin-left: auto;
padding: 0 16px;
}
section:first-child{
margin-top: 60px;
}

.pc_only{
display: none;
}
@media screen and (min-width: 768px){
    .pc_only{
    display: block;
    }
}

h2{
font-size: 58px;
height: 300px;
text-align: center;
padding-top: 24px;
letter-spacing: 2px;
line-height: 66px;
margin-top: 140px;
margin-bottom: 110px;
}
@media screen and (min-width: 768px){
    h2{
    font-size: 78px;
    padding-top: 14px;
    line-height: 112px;
    margin-top: 300px;
    margin-bottom: 40px;
    }
}

h3{
font-size: 28px;
margin-bottom: 20px;
text-decoration: underline;
}

@media screen and (min-width: 768px){
    h3{
    font-size: 38px;
    }
}
.portfolio_box h3, .news_box h3{
padding-top: 30px;
}
@media screen and (min-width: 768px){
    .portfolio_box h3, .news_box h3{
    padding-top: 60px;
    }
}
#alt__news li a{
color: #3281a2;
text-decoration: underline 1px;
}
    
.silver, .gold{
padding: 0 10px 0 10px;
}
@media screen and (min-width: 768px){
    .silver, .gold{
    padding: 10px;
    }
}

.silver{
font-size: 28px;
text-align: center;
line-height: 38px;
background-color: #CCC;
height: 38px;
width: 130px;
margin-bottom: 16px;
padding-top: 2px;
}
@media screen and (min-width: 768px){
.silver{
    font-size: 38px;
    height: 53px;
    width: 140px;
    padding-top: 10px;
    }
}

.gold{
font-size: 28px;
text-align: center;
line-height: 38px;
background-color: #E1DDD3;
height: 38px;
width: 130px;
margin-bottom: 16px;
padding-top: 2px;
}
@media screen and (min-width: 768px){
.gold{
    font-size: 38px;
    height: 53px;
    width: 140px;
    padding-top: 10px;
    }
}

.pf_coment01{
width: 100%;
margin-bottom: 8px;
color: #15df29;
text-align: right;
}
@media screen and (min-width: 768px){
	.pf_coment01{
    margin-bottom: 14px;
    }
}

.iS_box_items, .pf_box_items, .egs_box_items{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-bottom: 60px;
}

.iS_box_items_img{
    display: flex;
    justify-content: center;
}

.egs_box_items_img{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.fit_img{
    object-fit: contain;
}

@media screen and (min-width: 768px){
    .iS_box_items, .pf_box_items, .egs_box_items{
    padding-top: 80px;
    padding-bottom: 80px;
    }
    .pf_box {
    padding-top: 80px;
    padding-bottom: 80px;
    }
}

.news_box{
padding-bottom: 30px;
}

.iS_box_items div, .pf_box_items div, .egs_box_items div{
width: 100%;
margin-bottom: 16px;
}
@media screen and (min-width: 768px){
    .iS_box_items div, .pf_box_items div, .egs_box_items div{
    width: 48%;
    }
}

.image_caption{
font-size: 10px;
}
/*＝＝＝＝＝＝＝＝PDF制御＝＝＝＝＝＝＝＝*/
.pdf-link-icon::before {
content: "";
height: 16px;
width: 16px;
background-size: contain;
background-image: url(../../common_v2/image/icons/pdf.png);
display: inline-block;
background-position: center;
flex-shrink: 0;
margin-right: 5.5px;
word-break: break-word;
}
.btnSinglelink-text-pdf {
background: #fff url(../../common_v2/image/icons/pdf.png) 14px center no-repeat;
background-size: 14px auto;
padding: 17px 14px 13px 36px;
}
.primary-icon-pdf {
height: 2.5rem;
background-image: url("../image/icons/pdf.png");
}

/*＝＝＝＝＝＝＝＝ポートフォリオ＝＝＝＝＝＝＝＝*/
.pf_box, .pf_box_rogo{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.pf_box_h::before{
content: "";
width: 200px;
background-color: #c7000d;
height: 20px;
}

.pf_item{
justify-content: center;
width: 78px;
height: 78px;
border: 1px solid #CCC;
box-sizing: border-box;
position: relative;
}
.pf_item+.pf_item{
margin-left: 10px;
margin-bottom: 10px;
}
.pf_item:nth-last-of-type(4n){
margin-left: 0;
}
@media screen and (min-width: 768px){
    .pf_item:nth-last-of-type(4n){
    margin-left: 10px;
    }
}

@media screen and (min-width: 768px){
    .pf_item{
    width: 110px;
    height: 110px;
    }
}
.js_icon_item{
display: none;
}
.pf_box .open {
display: block;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
@media screen and (min-width: 768px){
    .js_icon_item{
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    }
}

.js_button_wrap{
display: flex;
width: 100%;
justify-content: end;
border-top: 2px solid #c7000d;
padding-bottom: 60px;
}
.js_icon_button{
background-color: #c7000d;
padding: 4px 7px;
box-sizing: border-box;
font-size: 12px;
border-radius: 0 0 3px 3px;
width: 78px;
text-align: center;
margin-bottom: 30px;
vertical-align: top;
}

.item_open{display: none;}
.item_close{display: block; margin: 0 auto; color: #FFF;}
.open .item_open{display: block; margin: 0 auto; color: #FFF;}
.open .item_close{display: none;}

@media screen and (min-width: 768px){
    .js_button_wrap{
    display: none;
    }
}
.noborder{
border: none;
}
/*＝＝＝＝＝＝＝＝ポートフォリオMARK＝＝＝＝＝＝＝＝*/

.pf_ipo, .pf_bo, .pf_ma{
padding: 0;
position: relative;
overflow: hidden;
}

/*＝＝IPOマーク＝＝*/
.pf_ipo:before{
display: block;
content: 'IPO';
font-size: 8px;
font-weight: bold;
background: rgb(247 115 3 / 85%);
width: 12.5em;
height: 8em;
color: #FFF;
text-align: center;
line-height: 14.3em;
transform: rotate(45deg);
position: absolute;
top: -5.1em;
left: 4.6em;
}
@media screen and (min-width: 768px){
    .pf_ipo:before{
    display: block;
    content: 'IPO';
    font-size: 10px;
    font-weight: bold;
    background: rgb(247 115 3 / 85%);
    width: 7em;
    height: 7em;
    color: #FFF;
    text-align: center;
    line-height: 12.3em;
    transform: rotate(45deg);
    position: absolute;
    top: -4em;
    left: 8.2em;
    }
}

/*＝＝BOマーク＝＝*/
.pf_bo:before{
display: block;
content: 'BO';
font-size: 8px;
font-weight: bold;
background: rgb(247 115 3 / 85%);
width: 12.5em;
height: 8em;
color: #FFF;
text-align: center;
line-height: 14.3em;
transform: rotate(45deg);
position: absolute;
top: -5.1em;
left: 4.6em;
}
@media screen and (min-width: 768px){
    .pf_bo:before{
    display: block;
    content: 'BO';
    font-size: 10px;
    font-weight: bold;
    background: rgb(247 115 3 / 85%);
    width: 7em;
    height: 7em;
    color: #FFF;
    text-align: center;
    line-height: 12.3em;
    transform: rotate(45deg);
    position: absolute;
    top: -4em;
    left: 8.2em;
    }
}

/*＝＝M&Aマーク＝＝*/
.pf_ma:before{
display: block;
content: 'M&A';
font-size: 8px;
font-weight: bold;
background: rgb(247 115 3 / 85%);
width: 12.5em;
height: 8em;
color: #FFF;
text-align: center;
line-height: 14.3em;
transform: rotate(45deg);
position: absolute;
top: -5.1em;
left: 4.6em;
}
@media screen and (min-width: 768px){
    .pf_ma:before{
    display: block;
	content: 'M&A';
    font-size: 10px;
    font-weight: bold;
    background: rgb(247 115 3 / 85%);
    width: 7em;
    height: 7em;
    color: #FFF;
    text-align: center;
    line-height: 12.3em;
    transform: rotate(45deg);
    position: absolute;
    top: -4em;
    left: 8.2em;
    }
}

.pf_point{
position: absolute;
top: 4px;
left: 4px;
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #15df29;
}/*＝＝緑マーク＝＝*/

.egs_box_items .link_button{
text-align: center;
width: 165px;
height: 32px;
padding: 5px;
padding-top: 3px;
background-color: #E1DDD3;
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-bottom: 18px;
margin-top: 18px;
}
.egs_box_items .link_button::after{
content: "";
display: block;
width: 16px;
height: 6px;
border-bottom: 1.5px solid #666;
border-right: 1.5px solid #666;
transform: skew(45deg);
margin-top: 9px;
margin-left: 5px;
}

.news_box .link_button{
    text-align: center;
    width: 165px;
    height: 32px;
    padding: 5px;
    padding-top: 3px;
    background-color: #E1DDD3;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 80px;
    margin-top: 18px;
}
.news_box .link_button::after{
    content: "";
    display: block;
    width: 16px;
    height: 6px;
    border-bottom: 1.5px solid #666;
    border-right: 1.5px solid #666;
    transform: skew(45deg);
    margin-top: 9px;
    margin-left: 5px;
}

#alt__news li{
margin-bottom: 15px;
}

#alt__news li:nth-child(n+4){
display: none;
} 

/*＝＝＝＝＝＝＝＝news表示数制御＝＝＝＝＝＝＝＝*/

/*＝＝＝＝＝＝＝＝ココまで＝＝＝＝＝＝＝＝*/

footer{
display: block;
width: 100%;
padding: 12px;
text-align: center;
background-color: #c7000d;
margin-bottom: 0;
bottom: 0;
color: #FFF;
}