@charset "utf-8";

/* --------------------------------------
     UPDATES 20260115
-------------------------------------- */

/* --------------------------------------
     INITIALIZE
-------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1.6;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}

/* --------------------------------------
     BASE 
-------------------------------------- */
html{ font-size: 62.5%; }
body{ margin: 0; padding: 0; font-size : 1.4rem; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; color: #333333;
	/* background-color: #ffffff; */
	line-height:1.8;
    -webkit-text-size-adjust: 100%;
	}

/* table{border-collapse:collapse; width:100%;}*/

ul{list-style:none;}
a,
a::before,
a::after {
  -webkit-transition: all .3s;
  transition: all .3s;
}
a:link,a:visited,a.active{
    text-decoration: none;
}

a{outline:none;text-decoration: none;}
/*
a:link,a:visited,a.active{
	text-decoration: none;
	color:#0078D7}

a:hover {color: #333333; text-decoration: underline;}
*/
a:hover img{ opacity:0.8;
    filter:alpha(opacity=80);-ms-filter:"alpha(opacity=80)";
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

header,footer{margin: 0 auto; padding: 0; width: 100%;}
section{margin: 0 auto; padding-top: 0; width: 100%;}
/* --------------------------------------
     PARAMS
-------------------------------------- */
/* --------------------
FONT SIZE
-------------------- */
h1{font-size: 3.8rem;}
h2{font-size: 2.4rem;}
h3{font-size: 2.0rem;}
h4{font-size: 1.8rem;}
h5{font-size: 1.6rem;}
p{font-size: 1.4rem;}

/* --------------------
CONTAINER
-------------------- */
.container{margin:0 auto;padding: 0;max-width: 1280px;}
@media screen and (max-width: 1310px){
    .container{width:  calc(100% - 40px);}
    html{font-size: 62.5%;}
}
@media screen and (max-width: 960px) {
    .container{width:  calc(100% - 30px);}
    html{font-size: 60%;}
}
@media screen and (max-width: 560px) {
    .container{width:  calc(100% - 20px);}
    html{font-size: 56%;}
    h1{line-height: 1.2;}
}

.resizeimage img { max-width: 100%; }

header,main,section,footer:after{
    content: "";
    clear: both;
    display: block;
}
/* ------------------------------------------
    COLOR, STYLE & BG
------------------------------------------ */
.bold{font-weight: bold;}
.normal{font-weight: normal;}
.center{text-align: center;}
.right{text-align: right;}
.left{text-align: left;}

.fc-red{color: #b33e5c;}
.bg-red{background-color: rgba(179,62,92,1.0);}
.fc-navy{color: #202f55;}
.bg-navy{background-color: rgba(32,47,85,1.0);}
.fc-gray{color: #808080;}
.bg-gray{background-color: rgba(238,238,238,1.0);} /* #eee */
.fc-white{color: #ffffff;}
.bg-skyblue{background-color: #8ac0f7;}
.fc-skyblue{color: #8ac0f7;}
.bg-yellow{background-color: rgba(255,246,217,1.0);} /* #FFEDB3 */
.fc-royalblue{color: royalblue;}
.fc-jirei{color: #68D444;} /* For Jirei */
/* ONLY FOR SEED */
.bg-light-seed{background-color: #a5e1e2;}
.bg-std-seed{background-color: #2387aa;}
.bdr-seed{width: 100%; border: 1px solid #2387aa;}
.bdr-img-seed{width: 100%; border-top: 1px solid #2387aa;}


.fc-purple{color: #DC669B;}
.fc-orange{color: #E8AC51;}
.fc-black{color: #555555; }
.fc-blue{color: #4784BF;}
.fc-green{color: #39A869;}
.fc-seed{color: #2387aa;}
.fc-light-seed{color: #a5e1e2;}
.ol-black{text-shadow:1px 1px 0 #333333, -1px -1px 0 #333333,-1px 1px 0 #333333, 1px -1px 0 #333333,0px 1px 0 #333333,  0-1px 0 #333333,-1px 0 0 #333333, 1px 0 0 #333333;
}
.ol-gray{
    text-shadow:1px 1px 0 #808080,-1px 1px 0 #808080,1px -1px 0 #808080,-1px -1px 0 808080;}
.ol-gray2{
	text-shadow:0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080,0 0 2px #808080;
}
.fc-green{color: springgreen;}
.ol-gray1{text-shadow:1px 1px 0 #808080, -1px -1px 0 #808080,-1px 1px 0 #808080, 1px -1px 0 #808080,0px 1px 0 #808080,  0-1px 0 #808080,-1px 0 0 #808080, 1px 0 0 #808080;
}
.ol-green{text-shadow:1px 1px 0 darkgreen, -1px -1px 0 darkgreen,-1px 1px 0 darkgreen, 1px -1px 0 darkgreen,0px 1px 0 darkgreen,  0 -1px 0 darkgreen,-1px 0 0 darkgreen, 1px 0 0 darkgreen;
}
.ol-blue{text-shadow:1px 1px 0 royalblue, -1px -1px 0 royalblue,-1px 1px 0 royalblue, 1px -1px 0 royalblue,0px 1px 0 royalblue,  0-1px 0 royalblue,-1px 0 0 royalblue, 1px 0 0 royalblue;
}
/* ------------------------------------------
    PADDING
------------------------------------------ */
.pt1{padding-top: 1.0rem;}
.pt2{padding-top: 1.7rem;}
.pt13{padding-top: 1.3rem;}
.pt22{padding-top: 2.0rem;}
.pt3{padding-top: 3.0rem;}
.pt35{padding-top: 3.5rem;}
.pt4{padding-top: 3.7rem;}
.pt48{padding-top: 4.8rem;}
.pt5{padding-top: 5.0rem;}
.pt72{padding-top: 7.2rem;}
.pt10{padding-top: 10.0rem;}
.pb1{padding-bottom: 1.0rem;}
.pb2{padding-bottom: 2.0rem;}
.pb3{padding-bottom: 3.0rem;}
.pb5{padding-bottom: 5.0rem;}
.pb10{padding-bottom: 10.0rem;}
.pb110{padding-bottom: 110px;}
/*----------------------------------------------------
     PAGE TOP SETTING (LAYER 999)
----------------------------------------------------*/
.pagetop {
    position: fixed;
    bottom: 2.0rem;
    right: 2.0rem;
    margin: 0 auto;
    z-index: 999;
}
 
.pagetop a {
    display: inline-block;
    padding: 1.2rem 1.2rem 0.8rem;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
    border-radius: 10%;
    background: #7F96D1;
    opacity: 0.7;
    border: 0.2rem solid #fff;
}
.pagetop a:hover {
    background:#202f55;
    color: #fff;
    text-decoration: none;
}
@media screen and (max-width: 600px){
    .pagetop{}
    .pagetop a {}
}
/*----------------------------------------------------
     PAGE TOP NEW
----------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 2.0rem;
    right: 2.0rem;
    margin: 0 auto;
    z-index: 999;
}
#page-top a {
    display: inline-block;
    padding: 1.2rem 1.2rem 0.8rem;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
    border-radius: 10%;
    background: #7F96D1;
    opacity: 0.7;
    border: 0.2rem solid #fff;
}
#page-top a:hover {
    background:#202f55;
    color: #fff;
    text-decoration: none;
}
/* Subscription Menu -Old- */
#cm{
    position: fixed;bottom: 0;
        color: red;
        height: 10vh;font-size: 30px;
    font-weight: bold;
        width: 100%;
    margin: auto;
    }

/* --------------------------------------
     COMMON PAGE(MAIN & ASIDE) 
-------------------------------------- */
.wrap{
   display:flex;
   flex-wrap:wrap;
   justify-content:space-between;
 }
main, aside{margin: 0 auto;}
aside{padding-top: 1.0rem;}
main.no-aside{width: 100%;}
main{width:calc(100% - 320px);}
 aside{width:280px;line-height: 100%;}
.sticky{position: -webkit-sticky;position: sticky;top: 7.0rem;}
.sp110{padding-top: 110px;}
.sp86{padding-top: 8.6rem;}
.content{width: 100%;}
.plr2{padding-right: 2.0rem; padding-left: 2.0rem;}
 @media (max-width:960px){
     main,aside{width:100%;padding: 0;margin: 0 auto;}
     .sticky{position: static;}
     .sp62{padding-top: 60px;}/* DELETE */
     .sp110{padding-top: 60px;}
     .sp86{padding-top: 3.8rem;}
 }
/* FONT SIZE */
.f12{font-size: 1.2rem;}
.f10{font-size: 1.0rem;}
/* ------------------------------------------
    TOP BACKGROUND IMAGES
------------------------------------------ */
/* Title Header background common rule */ 
.bg-top, .bg-common{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.lay99{z-index: 99;}
/* about-us */
.bg-about-us{background-image: url(../images/bg/about-us.jpg) ;}
.bg-over-view{background-image: url(../images/bg/over-view.png) ;}
.bg-business-outline{background-image: url(../images/bg/business-outline.png) ;}
.bg-products{background-image: url(../images/bg/products.png) ;}
.bg-solidedge-nx-x{background-image: url(../images/bg/solidedge-nx-x.png) ;}
.bg-solidedge{background-image: url(../images/bg/solidedge.png) ;}
.bg-nx{background-image: url(../images/bg/nx.jpg) ;}
.bg-solidedge-nx-x{background-image: url(../images/bg/solidedge-nx-x.jpg) ;} /* 202503 */
.bg-apriori{background-image: url(../images/bg/apriori.jpg) ;}
.bg-teamcenter{background-image: url(../images/bg/teamcenter.jpg) ;}
.bg-teamcenter-x{background-image: url(../images/bg/teamcenter-x.jpg) ;}
.bg-femap{background-image: url(../images/bg/femap.png) ;}
.bg-floefd{background-image: url(../images/bg/floefd.png) ;}
.bg-hintsandtips{background-image: url(../images/bg/hints-tips.jpg) ;}
.bg-services{background-image: url(../images/bg/services.png) ;}
.bg-privacy{background-image: url(../images/bg/privacy.jpg) ;}

.bg-aviation-related{background-image: url(../images/bg/aviation-related.jpg) ;}
.bg-services{background-image: url(../images/bg/services.jpg) ;}
.bg-information{background-image: url(../images/bg/information.jpg) ;}
.bg-case_studies{background-image: url(../images/bg/case_studies.png) ;}
.bg-brochures{background-image: url(../images/bg/brochures.png) ;}
.bg-seminar{background-image: url(../images/bg/seminar.jpg) ;}
.bg-consulting{background-image: url(../images/bg/consulting.png) ;}
.bg-training{background-image: url(../images/bg/training.jpg) ;}
.bg-news{background-image: url(../images/bg/news.jpg) ;}
.bg-seed{background-image: url(../images/bg/seed.jpg) ;}
.bg-plant-simulation{background-image: url(../images/bg/plant-simulation.png) ;}
/* ------------------------------------------
    TOP TEXT MESSAGES / PAGE TITLE /
------------------------------------------ */
.top-ttl-area{height: 300px;width: 100%;position: relative;}
.top-semi-area{height: 160px;width: 100%;position: relative;}
@media (max-width:960px){.top-ttl-area{height: 260px;}
    .top-semi-area{height: 140px;}}
@media (max-width:560px){.top-ttl-area{height: 200px;}.top-semi-area{height: 120px;}}
.top-ttl{position: absolute;top: 50%;left: 50%;transform: translateX(-50%) translateY(-50%) ; -webkit-transform: translateX(-50%) translateY(-50%) ; width: 100%;}
/* ------------------------------------------
    TITLE & SIDE BTN
------------------------------------------ */
section.sec-normal{padding-top: 5rem;}
section.sec-seed{padding-top: 2.6rem;}
section.sec-single{padding-top: 10rem; padding-bottom: 10rem;}
h2.title {
    border-bottom: 1px dotted rgba(179,62,92,0.8);
    width: 100%;
    text-align: center;
    display: block;
    margin: 3.0rem auto 2.0rem;
    padding-bottom: 1.0rem;
    line-height: 100%;
    font-weight: bold;
}
h3.title {
    border-bottom: 1px dotted rgba(179,62,92,0.8);
    width: 100%;
    text-align: left;
    display: block;
    margin: 0 auto 2.0rem;
    padding-bottom: 1.0rem;
    line-height: 100%;
    font-weight: bold;
}
h4.side-ttl{
    border-bottom: 1px dotted rgba(32,47,85,0.8);
    /* margin-top: 4.0rem;
    margin-bottom: 1.0rem; */
    margin: 2.0rem 0;
    /* padding-top: 1.0rem; */
    padding-bottom: 1.1rem;
    padding-left: 2.0rem;
    font-size: 1.8rem;
    line-height: 130%;
    color: rgba(32,47,85,1.0);
}
p.intend{text-indent: 1em;}
p.r-intend{padding-right: 0.6em;}
.tx-rule span{display: inline-block;}
span.sub-ttl{
    display: block;
    font-size: 1.2rem;
    line-height: 100%;
    margin-top: .6rem;
}
.side-btn {
    padding-top: 0.8rem;
    padding-bottom: 0.4rem;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-bottom: 1.0rem;
    display: block;
    line-height: 130%;
  outline: none;
    background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
position: relative;
}
.side-btn span{
    display: block;
    font-size: 1.2rem;
    vertical-align: bottom;
}
.side-btn span:before{
    content: "　";
}
/*
.side-btn:hover {
  background-color: #fff;
  border-color: #59b1eb;
  color: #59b1eb;
}
*/
.side-btn:hover {
  background-color: #4169e1;
  border-color: #202f55;
  color: #ffffff;
}

.side-btn::before,
.side-btn::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
/* ------------------------------------------
    STRUCTURE
------------------------------------------ */
#structure ul {
display: flex;
font-size: 1.3rem;
}
#structure ul li {
margin: 0 1.0rem 0 0;
font-size: 1.3rem;
    color:#fff;
    line-height: 2.0;
}
#structure ul li:first-child::before {
padding: 0 3px 0 0;
content: "";
font-size: 1.3rem;
}
#structure ul li::before {
padding: 0 10px 0 0;
content: " > ";
font-size: 1.3rem;
}
#structure ul li a{
	color:#fff;
	text-decoration:underline;
}
/* ------------------------------------------

    /// INDEX ///

------------------------------------------ */

/* ------------------------------------------
    NARROW
------------------------------------------ */
.wide-960{margin: 0 auto; width: 100%;max-width: 940px;}
/* ------------------------------------------
    INTRO brackets
------------------------------------------ */
.brackets {
    position: relative;
    padding:3.0rem;
    margin-bottom: 5.0rem;
    /* margin: 3.0rem auto 5.0rem; */
    display: inline-block;
}
.brackets:before,.brackets:after{ 
    content:'';
    width: 2.0rem;
    height: 2.5rem;
    position: absolute;
    display: inline-block;
}
.brackets:before{
    border-left: solid 5px rgba(179,62,92,1.0);
    border-top: solid 5px rgba(179,62,92,1.0);
    top:0;
    left: 0;
}
.brackets:after{
    border-right: solid 5px rgba(179,62,92,1.0);
    border-bottom: solid 5px rgba(179,62,92,1.0);
    bottom:0;
    right: 0;
}
.brackets h4 {
    margin: 0; 
    padding: 0;
}
/* ------------------------------------------
　   FLEXBOX BLOCK /2/3/4/
------------------------------------------ */
.box-shadow{
     -webkit-box-shadow: 0 0 0.5rem rgba(0,0,0,0.4);
    box-shadow: 0 0 0.5rem rgba(0,0,0,0.4);
}
.flbox2, .flbox3, .flbox4, .flbox3N {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
}
.flbox2 > div {width: 49%;margin-bottom: 3.0rem;padding: 1.0rem;}
.flbox3 > div {width: 32%;margin-bottom: 3.0rem;padding: 1.0rem;}
.flbox3N > div {width: 32%;padding: 1.0rem;}
.flbox4 > div {width: 24%;margin-bottom: 3.0rem;padding: 1.0rem;}
.bdr-gray{border: 1px solid #808080;}
.bdr-navy{border: 1px solid #202f55;}
.bdr-white{border: 1px solid #ffffff;}
@media only screen and (max-width:960px){
    .flbox3 > div {width: 49%;}
    .flbox3N > div {width: 49%;}
    .flbox4 > div {width: 49%;}
}
@media only screen and (max-width:560px){
    .flbox3 > div {width: 100%;}
    .flbox3N > div {width: 100%;}
    .flbox2 > div {width: 100%;}
    .flbox4 > div {width: 100%;}
}

.flbox3-r{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.flbox3-r > div {width: 32%;margin-bottom: 3.0rem;margin-right: 2%;}
.flbox3-r > div:nth-child(3){margin-right: 0;}
@media only screen and (max-width:960px){
    .flbox3-r{justify-content: space-between;}
    .flbox3-r > div {width: 49%;margin-right: 0;}
}
@media only screen and (max-width:560px){
    .flbox3-r > div {width: 100%;}
}
/* ------------------------------------------
    FLEXBOX SUB /// NEWS ///
------------------------------------------ */
.newsbox{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3.0rem;
}
@media screen and (max-width: 960px) {
    .newsbox{margin-bottom: 2.2rem;}}
@media screen and (max-width: 560px) {
    .newsbox{margin-bottom: 1.6rem;}}
.newsbox_date{
       width: 15%;padding-right: 1.0rem;
    border-right: 1px solid #999999;
    display: flex;
    justify-content: center;
  align-items: center;
  }
.newsbox_date:last-child{
    border-right: 0;
  }
.newsbox_date p{
    font-size: 1.4rem;
    font-weight: bold;
    color:rgba(179,62,92,1.0);
    display: block;
    text-align: center;
    line-height: 1.2;
}
.newsbox_date p span{
    font-size: 2.0rem;
    color:#808080;
    display: block;
}
.newsbox_title{
       width: 85%;padding-left: 1.0rem;
  }
.newsbox_title p{
     font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.3;
  }
.newsbox_title a{
     font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.3;
    color: #202f55;
  }
.newsbox_title a:hover{color:rgba(179,62,92,1.0); }
/* ------------------------------------------
　   FLEXBOX SUB HORIZONTAL
------------------------------------------ */
.item{margin-bottom: 3.0rem;}
.item .flx-item-img img {width: 100%;}
.item .flx-item-img20 img {width: 100%;}
.item .flx-item-img30 img {width: 100%;}
.item .flx-item-img50 img {width: 100%;}
@media screen and (max-width : 560px) { 
    .item .flx-item{padding-bottom: 3.0rem;}
    .item .flx-item-img{width: 100%;}
    .item .flx-item-txt{width: 100%; padding-bottom: 1.0rem;}
    .item .flx-item-img20{display: none;}
    .item .flx-item-txt70{width: 100%; padding-bottom: 1.0rem;}
    .item .flx-item-img30 img {width: 100%;}
    .item .flx-item-img50 img {width: 100%;}
    .item .flx-item-txt80{width: 100%; padding-bottom: 1.0rem;}
}
@media screen and (min-width : 561px) { 
    .item .flx-item {
        display: flex;
        margin: 0;
    }
    .pw{}
    .item .flx-item:nth-child(odd) {
        flex-direction: row-reverse;
            margin-bottom: 0;
    }
    .item .flx-item:nth-child(odd) .flx-item-img20 {
        text-align: left;
        padding: 0 2.0rem;
    }
    .item .flx-item-images{
        display: flex;
        margin: 0;
        justify-content: space-between;
    }
    .item .flx-item-img {
        width: 40%;
        padding: 0 2.0rem;
    }
    .item . {
        width: 30%;
        padding: 0 2.0rem;
    }
    .item .flx-item-img50 {
        width: 50%;
        padding: 0 2.0rem;
    }
    .item .flx-item-txt {
        width: 60%;
        padding: 0 2.0rem;
    }
    .item .flx-item-img20 {
        width: 20%;
        padding: 0 2.0rem;
        text-align: right;
    }
        .item .flx-item-txt50 {
        width: 50%;
        padding: 0 2.0rem;
    }
    .item .flx-item-txt80 {
        width: 80%;
        padding: 0 2.0rem;
    }
    .item .flx-item-txt70 {
        width: 70%;
        padding: 0 2.0rem;
    }
    .item .flx-item-txt100 {
        width: 100%;
        padding: 0 2.0rem;
    }
    .item .flx-item:nth-child(odd) .common-btn{
        text-align: right;
    }
}
/* ------------------------------------------
　   IMAGE ZOOM
------------------------------------------ */
.img-zoom {
	overflow: hidden;
    width: 100%;
    margin: 0 auto;
}
.img-zoom img {
	display: block;
    width: 100%; height: auto;
	transition-duration: 0.5s;
}
.img-zoom img:hover {
	transform: scale(1.05);	
	transition-duration: 0.5s;
}
/* IMAGE PLM TEAMCENTER */
.w60-r{width: 70%;margin-left: auto;}
@media only screen and (max-width:960px){.w60-r{width: 80%;margin-left: auto;}}
@media only screen and (max-width:560px){.w60-r{width: 100%;margin-left: auto;margin-right: auto;}}

/* IMAGE PLAT SIMULATION */
.w80-c{width: 80%;margin: 0 auto;}
@media only screen and (max-width:960px){.w80-c{width: 80%;}}
@media only screen and (max-width:560px){.w80-c{width: 100%;}}
/* ------------------------------------------
    CASE STUDIES
------------------------------------------ 
/* ---------------
MORE BUTTON
--------------- */
.more_btn {
	display: inline-block;
	position: relative;
	width: 20rem;
	padding: 1.0rem;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	/*border-radius: 30px;*/
	border:2px solid royalblue;
	transition: transform ease .3s;
    margin-top: 2.0rem;
    font-size: 1.6rem;
}
@media screen and (max-width : 560px) {
    .more_btn {
        width: 18rem;
        padding: 0.2 1.0rem;
        border:1px solid royalblue;
        margin-top: 1.0rem;
        font-size: 1.4rem;}
}
.more_btn:hover {
	 cursor: pointer;
	 text-decoration: none;
    /* */
    color: royalblue;
    background: #ffffff;
    border:2px solid royalblue;
}
.more_btn span {
	display: inline-block;
	text-decoration: none;	
	transition: transform ease .3s;
}
.more_btn:hover span{
	cursor: pointer;
	text-decoration: none;
	transform: translateX(12px);
}
.more_inner{
    margin: 0 auto;padding-top: 3.0rem;padding-bottom: 2.0rem;text-align: center;
}
@media (max-width: 480px) {
    .more_inner{padding: 1.0rem 0;}
}
/* ----- Button ----- */
.common-btn{
    text-align: left;
    margin-top: 2.0rem;
}
.common-btn a{
    text-align: center;
    padding: 0.5rem 4.0rem;
    color: #202f55;
    background-color: #ffffff;
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 3.0rem;
}
.common-btn a:hover{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
.common-btn2{
    text-align: center;
    margin-top: 2.0rem;
}
.common-btn2 a{
    text-align: center;
    padding: 0.5rem 4.0rem;
    color: #202f55;
    background-color: #ffffff;
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 3.0rem;
}
.common-btn2 a:hover{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
/* ------------------------------------------
　   FLEXBOX SUB VERTICAL
------------------------------------------ */
/* --- AREA DEFENITION --- */
.fl-v-zone {
  display:flex;
  flex-direction: column;
  margin-bottom: 2.0rem; 
    align-items: stretch;
    position: relative;
    z-index: 1;
}
.fl-v-zone a{
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    text-indent:-999px;
    z-index: 2;
}
.fl-v-zone a:hover{
    background: rgba(230,230,250,0.1);
    zoom:1;/*IE*/
    cursor: pointer;
}
/* --- IMAGES SQUARE --- */
.fl-v-img {
  width: 100%;
  min-height: 0%;
    overflow: hidden;
    height: 10rem;
}
.fl-v-img img {
    height:auto;
    width: 100%;
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.fl-v-zone:hover > .fl-v-img img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
/* --- ONLY FOR SEED --- */
.fl-vf-zone {
  display:flex;
  flex-direction: column;
  /* margin-bottom: 2.0rem; */
    align-items: stretch;
    position: relative;
    z-index: 1;
}
.fl-vf-zone a{
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    text-indent:-999px;
    z-index: 2;
}
.fl-vf-zone a:hover{
    background: rgba(230,230,250,0.1);
    zoom:1;/*IE*/
    cursor: pointer;
}
.fl-vf-img {
  width: 100%;
  min-height: 0%;
    overflow: hidden;
    height: auto;
    background-color: #2387aa;
}
.fl-vf-zone:hover > .fl-vf-img img {
    height:auto;
    width: 100%;
    border: 0;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.fl-vf-img img {
    height:auto;
    width: 100%;
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}

/* --- IMAGES CIRCLE --- */
.fl-v-imgcir {
    overflow: hidden;margin: auto;
    width: 80%; height: auto; border-radius: 50%;border: 2px solid #f0f0f0;margin-bottom: 2.0rem;
}
.fl-v-pcir imgcir {
    height:auto;-moz-transition: -moz-transform 0.5s linear;-webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.fl-v-zone:hover > .fl-v-imgcir img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
/* --- TEXT AREA --- */
.fl-v-tex {
    width: 100%;
    text-align: center;
    padding: 1.0rem 1.0rem 3.0rem;
}
/* ----- FLEX VERTICAL LIST ----- */
.fl-v-list {width: 100%;text-align: left;padding-top: 2.0rem; padding-bottom: 2.0rem;}
.fl-v-list li {
    list-style-type: none;
    position: relative; /*基準位置*/
    padding-left: 3.0rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: #202f55;
    }
.fl-v-list li:before {
    border-radius: 50%;
    width: 8px; /*点の幅*/
    height: 8px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 1.5rem; /*点の位置*/
    top: 0.85rem; /*点の位置*/
    content: "";
    background: #E8AC51;
    }
/* ----- Button ----- */
.fl-v-btn{
    margin-top: auto;
    width: 100%;
}
.fl-v-zone > .fl-v-btn p{
    text-align: center;
    /* font-size: 1.6rem; */
    padding: 0.5rem 4.0rem;
    /* font-weight: bold; */
    color: #202f55;
    /* background-color: #ffffff;*/
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 3.0rem;
}
.fl-v-zone:hover > .fl-v-btn p{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
/* ------------------------------------------

    /// PRODUCTS (TOP NEWS) ///

------------------------------------------ */
/* ------------------------------------------
    MODAL (IMAGES)
------------------------------------------ */
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 93;
}
.modal-bg{
    background: rgba(0,0,0,0.5);
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 94;
}
.modal-content{
    background: #fff;
    left: 50vw;
    padding: 4.0rem;
    position: absolute;
    top: 60vh;
    transform: translate(-50%,-50%);
    width: 60%;
    max-height: 60%;
    overflow-y: scroll;
    z-index: 95;
}
.modal-content h5{display: block; color: #008000; border-bottom: 2px solid #aaa; line-height: 2.0;margin-bottom: 2.0rem;}
@media only screen and ( max-width : 560px ) {
    .modal-content{max-height: 80vh;width: 80vw;padding: 2.0rem;}
}
.close-win{
    display: inline-block;
    font-size: 80%; 
    color: #ffffff;
    background-color: #333;
    padding: 0.5rem 0.5rem 0.3rem;
    font-weight: bold;
    border: 1px solid #333;
    border-radius: 0.3rem;
    line-height: 1.0;
    margin-top: 2.0rem;
    vertical-align: middle;
    margin-bottom: 2.0rem;
}
.close-win:hover{
    color: #999;
    background-color: #fff;
    cursor: pointer;
}
.close-btn{text-align: right;}

/* ------------------------------------------
    TABLE
------------------------------------------ */
table.std-tbl { width: 100%;margin: 2.0rem auto; border-collapse: collapse;border-spacing: 0; }
table.std-tbl th, table.std-tbl td  { padding: 1.0rem 2.0rem; /* border: 1px solid #ffffff; */ }
table.std-tbl th { /* background: #f4f4f4; */ width: 28%; text-align: left; }
table.std-tbl td { /* background: #fafafa;  */width: calc(72%-3px); }
@media only screen and (max-width:900px){
    table.std-tbl { margin: 0; }
    table.std-tbl th,
    table.std-tbl td{
    width: 100%;
    display: block;
    border-top: none;
    }
}
/* -- Simple -- */
table.simple tr:first-child th, table.simple tr:first-child td{border-top:  1px solid #dddddd;}
table.simple th, table.simple td{border-bottom:  1px solid #dddddd;}
@media only screen and (max-width:900px){
    table.simple tr:first-child td { border-top:0; }
    table.simple th{background-color: #f4f4f4;}}
/* -- Gray -- */
table.gray th{background-color: #f4f4f4;}
table.gray tr:first-child th, table.gray tr:first-child td{border-top:  1px solid #dddddd;}
table.gray th, table.gray td{border-bottom:  1px solid #dddddd;}
@media only screen and (max-width:900px){
    table.gray tr:first-child td { border-top:0; }}
/* -- Gray-Plus -- */
table.gray-plus th{background-color: #f4f4f4;}
table.gray-plus td{background-color: #fafafa;}
table.gray-plus th, table.gray-plus td{border-bottom:  1px solid #ffffff;}
table.gray-plus td{border-left:  1px solid #ffffff;}
table.gray-plus tr:first-child th, table.gray-plus tr:first-child td{border-top:  1px solid #ffffff;}
@media only screen and (max-width:900px){
    table.gray-plus td{background-color: none; border-left:0;}
    table.gray-plus tr:first-child td{border-top:0;}
}
/* -- Blue -- */
table.blue th{background-color: rgba(65,105,225 ,0.1 );}
table.blue tr:first-child th, table.blue tr:first-child td{border-top:  1px solid rgba(65,105,225 ,0.5 );}
table.blue th, table.blue td{border-bottom:  1px solid rgba(65,105,225 ,0.5 );}
@media only screen and (max-width:900px){
    table.blue tr:first-child td { border-top:0; }}

/*--------------------------------
QA  (PUBLISH DATE)
--------------------------------*/
.accbox {
    margin: 0;
    padding: 0;
    width: 100%;
}
.accbox label {
    display: block;
    margin-bottom: 0.5rem;
    padding : 1.0rem 2.0rem;
    color: #202f55 /* #ffba47 */;
    font-weight: bold;
    background: #c5ec84 /* #fff2cc */;
    cursor :pointer;
    transition: all 0.5s;
    font-size: 1.6rem;
}
.accbox label:before {
    content: url(../images/general/mark/navy-right.png);
    padding-right: 1.0rem;
}
.accbox label:hover {
    background :#88e02e /* #ffe9a9 */;
    color: #ffffff;
}
.accbox input {
    display: none;
}
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 5px;
    background: #eeeeee /* #fff5eb */;
    opacity: 1;
}
.accbox .accshow h5,  .accbox .accshow p{
    margin: 5px ;
    /* font-size: 16px; */
    background:url(../images/general/mark/arrow_4.png) no-repeat 0 5px;
	padding-left:20px;
}
.accbox .accshow h6 {
    margin: 5px ;
    font-size: 16px;
	padding-left:20px;
}
.accbox .accshow p {
    margin: 5px 10px 5px 20px ;
}
.accbox .accshow li {
    margin: 10px 10px 10px 20px ;
}
/*アイコンを入れ替える*/
.cssacc:checked + label:before {
    content: url(../images/general/mark/navy-down.png);
}



/* ------------------------------------------
    GMAP / ACCESS
------------------------------------------ */
#gmap {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
}
#gmap .inner {
	position: relative;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
#gmap .inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media (max-width: 960px) {
	#gmap .inner {
		padding-top: 75%;
	}
}
@media (max-width: 560px) {
	#gmap .inner {
		padding-top: 100%;
	}
}
/* ------------------------------------------
    INFORMATION FOOTER SETTING
------------------------------------------ */
#wrapper {display: flex;flex-direction: column;min-height: 100vh;
width: 100%;}
/* ------------------------------------------
    POLICY LIST
------------------------------------------ */
ul.common, ol.common {
  padding-left: 2.0rem;
}
.common li > ul, .common li > ol {
  padding-left: 2.0rem;
}

/* -- Number -- */
ul.num {list-style: decimal;}
ul.disc {list-style: disc;}
ul.square {list-style: square;}
ul.circle {list-style: circle;}
ul.lower-latin {list-style: lower-latin;}
ul.lower-roman {list-style: lower-roman;}
ul.red-dot{list-style-image: url(../images/general/mark/icon_dot.gif)}
ul.red-arr{list-style-image: url(../images/general/mark/icon_arr.gif)}
ul.navy-dot{list-style-image: url(../images/general/mark/navy_icon_dot.gif)}
ul.navy-arr{list-style-image: url(../images/general/mark/navy_icon_arr.gif)}
ul.icon-general li {
    list-style: none;
        padding-left: 0.7rem;
    margin-left: 1.3rem;
    text-indent: -1.3em;
}
ul.mark-only li {
    padding-left: 1.0rem;
	text-indent: -1.0rem;
}
ul.mark-only li::before {
	content:" ) ";
}
ul.right-mark li {
	list-style-type: none;
	counter-increment: cnt;
}
ul.right-mark li::before {
	content: counter(cnt) " ) ";
}
ul.both-mark li {
	list-style-type: none;
	counter-increment: cnt;
}
ul.both-mark li::before {
	content:"( " counter(cnt) " ) ";
}
/* ------------------------ */
.list_grp {
    list-style:  none;
    margin:  0;
    padding: 0;
}
/* -- Dot Mark -- */
.list_dot:before {
    content:  "";
    width:  1.0rem; 
    height:  1.0rem;
    display:  inline-block;
    background-color: #F44336; 
    border-radius:  50%;  
    position: relative ; 
    top: 0;   
    margin-right: 0.5rem; 
}
/* -- Check Mark -- */
.list_chk:before {
    content:  ""; 
    width:  1.0rem; 
    height:  0.5rem; 
    display:  inline-block; 
    position: relative ; 
    top: -0.3rem; 
    margin-right: 0.5rem;

  border-left: 2px solid #e8437b;
  border-bottom: 2px solid #e8437b;
  transform: rotate(-45deg);
}
/* ------BOX-------- */
.mark-box{
    margin: 0 auto;
    width: 80%;
    height: auto;
    padding: 2.0rem;
    border: 1px solid #333333;
}
hr.separator{
    margin-top: 5.0rem;
    margin-bottom: 5.0rem;
    height: 1px;
    border-top: 1px solid #eeeeee;
    /* background-color: #eeeeee; */
    width: 80%;
}

/* ------------------------------------------
    MODAL (IMAGES)
------------------------------------------ */
.remodal {
  position: relative;
  padding: 25px;
}
.remodal img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
/*

/* ------------------------------------------
    INDEX
------------------------------------------ */
.index-list{width: 100%;margin: 0 auto;padding: 2.0rem;}

.lh1{line-height: 1.0;}
.border-gray{border: 1px solid #eeeeee;}
.pdrl2{padding-left: 2.0rem;padding-right: 2.0ren;}


.sec-sp{margin-bottom: 3.0rem;padding-top: 5.0rem;padding-bottom: 2.0rem;}
.sec-p-sp{padding-bottom: 3.0rem; padding-top: 3.0rem;}

/* ------------------------------------------
    HEADER(GLOBAL MENU)
------------------------------------------ */
.print-logo{display: none;}
#header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  z-index: 999; /* 20200929 MOD : 99; */
  width: 100%;
  position: fixed; 
  top: 0;
  left: 0;
  background: #fff;
}
.top-nav {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.top-nav li:first-child {
  margin-right: auto;
} 
.top-nav li a {
    margin-left: 1.0rem;
  border-radius: 5px;
    display: block;
   padding: 5px 15px;
    text-decoration: none;
}
.top-nav .logo {
    margin: 0;
    padding: 0;
    background-color: transparent;
    padding-top: 4px;
    width: 348px;
}
.btn-navy a{
    color: #202f55;
    font-size: 1.2rem;
    font-weight: bold;
    border: 1px solid #202f55;
}
.btn-navy a:hover{
    color: #ffffff;
    background-color: #202f55;
}
.btn-red a{
    color: #b33e5c;
    font-size: 1.2rem;
    font-weight: bold;
    border: 1px solid #b33e5c;
}
.btn-red a:hover{
    color: #ffffff;
    background-color: #b33e5c;
}
.btn-orange a{
    color: #d26900;
    font-size: 1.2rem;
    font-weight: bold;
    border: 1px solid #d26900;
}
.btn-orange a:hover{
    color: #ffffff;
    background-color:#d26900;
}
/* ----------------------960px -- */
@media (max-width: 960px) {
    header{position: fixed;}
    .mess-btn{display: none;}
    .top-nav .logo {
        position: absolute;
        top: 5px; left: 10px;
        background-color: transparent;
        padding-top: 0;
        width: 290px;z-index: 999;}
     /* 202503 */
    .top-nav .eng {
        position: absolute;
        top: 5px; right: 60px;
        background-color: transparent;
        padding-top: 10px;z-index: 999;        
    }
    .btn-navy a{
    font-size: 1.0rem;
}
}
/* ----------------------960px -- */
#gNav a:hover {
  color: rgba(179,62,92,1.0);
}
nav li a{
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
    color: #333333;
}
nav .sub-menu,.mean-container {
  background: #fff;
}
/* ----------------------960px -- */
@media only screen and ( max-width : 960px ) {
  #header {
    padding: 5px 0;
    height: 60px;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
}
/* ----------------------960px -- */
@media print, screen and ( min-width : 961px ) {
#header {/* height: 120px;*/}
#h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
  }
#h_top2 {
    display: flex;
    justify-content: /* space-between */flex-end;
    align-items: center;
  }

  #gNav ul {
    position: relative;
    display: flex;
  }
  #gNav li {
    position: relative;
    margin-right: 50px;
  }
  #gNav li:last-child {
    margin-right: 0;
  }
  #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 40px;
      font-size: 1.4rem;
  }
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 40px;
    left: 50%;
    margin-left: -120px;
    width: 240px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
      padding: 0;
  }
/* 20200717 ADD*/
    #gNav li:last-child ul.sub-menu{
        position: absolute;
        top: 40px;
        right: 0;
        left: auto;
        margin-left: 0;
    }
  #gNav .sub-menu a {
    display: block;
    border-bottom: none;
    padding: 10px 20px;
    line-height: 1.2em; 
  }
    #gNav .sub-menu li:first-child {
    border-top: 1px solid #ccc;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    padding: 0;
    margin:0;
      position: relative;
      text-align: center;
      border-bottom: 1px solid #ccc;
  }
#gNav .sub-menu li span {
  display: block;
  font-size: 1.0rem;
text-align: center;
}
#gNav ul > li:hover {
    -webkit-transition: all .2s;
    transition: all .2s;
  }
#gNav .current-menu-item a ,#gNav .current-menu-parent a {
    color: rgba(179,62,92,1.0);
  }
.s-note{font-size: 1.2rem;line-height: 1.0;}

#gNav ul li a {
    color: #333;
}
  #gNav li:hover ul.sub-menu {
    top: 40px;
    visibility: visible;
    opacity: 1;
    z-index: : 9999;
      color: #333;/**/
  }
  #gNav li ul li:after {
    content: none;
  }

  #gNav .sub-menu li a:hover {
    background: #eee;
  }
    #gNav .sub-menu li span a:hover {
    background: #eee;
  }
  #gNav .contact_btn a:hover {
    color: #fff;
  }
}

/* ------------------------------------------
    FOOTER DEF.
------------------------------------------ */
footer{
	width: 100%;
    padding-top: 2.0rem;padding-bottom: 2.0rem;
    background: #202f55;font-size=:1.3rem;
    margin-top: auto;
}
/* ------------------------------------------
    container 別途設定
------------------------------------------ */
/* ------------------------------------------
    flex layout 4
------------------------------------------ */
.flx4box{
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
    padding-bottom: 3.0rem;
}
.flx4box > .general {flex-basis: 24%; margin-top:3.0rem;}
/* Additional 20220701 */
.flx4box > .prod {flex-basis: 30%; margin-top:3.0rem;}
.flx4box > .aviation {flex-basis: 18%; margin-top:3.0rem;}
/* Additional 20220701 END */
.flx4box > div:last-child {margin-left:1.3%; margin-right: auto;}
@media screen and (max-width: 1310px) {
    .flx4box > .general, .flx4box  {flex-basis: 32%;}
    .flx4box > .prod {flex-basis: 40%; margin-top:3.0rem;}
.flx4box > .aviation {flex-basis: 24%; margin-top:3.0rem;}
    .flx4box > div:last-child {margin-left:0; margin-right: 0;}
}
@media screen and (max-width: 960px) {
    .flx4box > .general, .flx4box  {flex-basis: 49%;}
    .flx4box > .prod {flex-basis: 60%; margin-top:3.0rem;}
.flx4box > .aviation {flex-basis: 36%; margin-top:3.0rem;}
    .flx4box > div:last-child {margin-left:0; margin-right: 0;}
}
@media screen and (max-width: 560px) {
    .flx4box > .general, .flx4box > .prod, .flx4box > .aviation {flex-basis: 100%;}
}
footer h5{
    color: #ffffff;font-size: 1.4rem;font-weight: normal; display: block; border-bottom: 0.1rem dotted #ffffff;line-height: 2.0; padding-right: 3.0em; margin-bottom: 0.5em;padding-left: 1.0rem;}

footer h5:before{
    content:url(../images/footer/arrow_2.png);
    /* width: 1.4rem; height: 1.4rem;*/
    display: inline-block;
    padding-right: 1.0em;
    }
footer p{
    color: #ffffff;font-size: 1.5rem;line-height: 1.8;padding-left: 1.0rem;}
footer hr {
    height: 1.5px;
    background-color: #ffffff;
    border: none;
    color: #ffffff;
}
footer a{color: #ffffff;}
footer a:hover{color: rgba(255,165,0,1.0);}
/* ----- FOOTER LIST ----- */
footer ul {padding-left: 3.0rem;}
footer li {padding: 0.2rem;color: #fff;list-style-type: disc;
}
/* ----- FOOTER LIST ----- */
.bb-white{width: 100%; /* border-top: 0.1rem solid #fff; */border-bottom: 0.1rem solid #fff; padding-top: 2.5rem; padding-bottom: 2.5rem;}
.cname{font-size: 1.7rem;color: #ffffff;font-weight: bold;text-align: left;display: inline-block;}
.cadd{font-size: 1.6rem;color: #ffffff;text-align: left;padding-left: 2.0em; display: inline-block;}
.ccopy{width: 100%; font-size: 1.3rem;text-align: center;padding-top: 2.0rem; padding-bottom: 2.0rem;color: #ffffff;}

/* -----   FIXED   ----- */
#footer-fixed {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

footer {
  margin-top: auto;
}
/* ---------------------------
UPDATES 20260113
-------------------------------*/
/* CASE STUDY:20260115 */ 
/* top image */
.bg-case_study{
  background-position: center left;
  background-repeat: no-repeat;
  background-size: cover;
}
.bg-cs-nkc{background-image: url(../images/information/case-studies/NKC/top.png) ;}

.case-section {
  max-width: 1100px
  margin: 0 auto;
  /*padding: 0 20px;*/
}
.es-box{padding: 20px 60px;}
.ptb2{padding: 20px 0}

/* clearfix */
.case-section::after {
  content: "";
  display: block;
  clear: both;
}

/* 回り込み画像 */
.float-image {
  float: right;
  width: 60%;
  margin: 0 0 18px 18px;
}

.float-image-left {
  float: left;
  width: 40%;
  margin: 0 20px 0 0;
}

.float-image-right {
  float: right;
  width: 40%;
  margin: 0 0 0 18px;
}

.float-image img, .float-image-left img, .float-image-right img {
  width: 100%;
  height: auto;
  display: block;
}


/* キャプション */
.float-image figcaption {
  font-size: 1.2rem;
  color: #555;
  margin-top: 10px;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .float-image, .float-image-left, .float-image-right {
    float: none;
    width: 100%;
    margin: 0 0 16px 0;
  }
}
/* 課題、導入のポイント、導入効果 */
.cs-box {
  display: flex;
  gap: 24px;
  margin: 10px auto;
  max-width: 1100px;
    padding: 20px 0;
}

.cs-red{color:#b33e5c; border: 1px solid #b33e5c;background-color: rgba(179,62,92,0.1);}
.cs-orange{color:#ff8c00; border: 1px solid #ff8c00;background-color: rgba(255,165,0,0.1);}
.cs-blue{color:#4169E1; border: 1px solid #4169E1;background-color: rgba(25,85,166,0.1);}
.cs-gray{border: 1px solid #808080; border-radius: 5px;}

/* 左：30% */
.cs-box-left {
  width: 25%;
      display: flex;
  flex-direction: column;
  justify-content: center; /* 上下中央 */
    border-right: 1px solid #ffffff;
}

/* 右：70% */
.cs-box-right {
  width: 75%;
}


.cs-box-left img{
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 比率維持＋トリミング */
  display: block;
        -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}

/* 番号付きリスト */
.case-list {
  padding-left: 1.5em;
  margin: 0;
    list-style-type: disc;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .cs-box {
    flex-direction: column;
  }

  .cs-box-left,
  .cs-box-right {
    width: 100%;
      padding: 0 20px;
  }

  .cs-box-left {
    justify-content: flex-start;
    margin-bottom: 12px;
      border-bottom: 1px solid #ffffff;
      border-right: none;
  }
}

/* ---------------------------
CASE STUDY BUTTON 20260113
-------------------------------*/
/* .fl-h-zone {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  align-items: align-items: stretch; 
  text-decoration: none;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;   /* 中央寄せ（任意） */
}
/* --- IMAGES SQUARE --- */
/* .fl-h-img{
  width: 40%;
  height: 200px;        /* ← 明示的に高さを指定 
  overflow: hidden;
}
/*.fl-h-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 比率維持＋トリミング 
  display: block;
        -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
*/
.fl-h-zone {
  display: flex;
  gap: 1.5rem;
  align-items: stretch; /* 子要素を親の高さまで伸ばす */
  text-decoration: none;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

/* 画像エリア */
.fl-h-img {
  width: 40%;
  overflow: hidden;
}

/* 画像 */
.fl-h-img img {
  width: 100%;
  height: 100%;         /* 親に追従 */
  object-fit: cover;
  display: block;
  transition: transform 0.5s linear;
}
.fl-h-tex{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
    text-align: center;
    width: 60%;
}
.fl-h-zone:hover > .fl-h-img img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.fl-h-zone:hover{
  background: rgba(230,230,250,0.2);
}
@media (max-width: 768px){
  .fl-h-zone{
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 560px){
  .fl-h-zone{
    flex-direction: column;   /* ←縦並びにするポイント */
    align-items: center;      /* 中央寄せ（任意） */
  }
  .fl-h-img{
      width: 100%;
  height: 10rem;
  overflow: hidden;
  }
}
/* ----- Button ----- */
.fl-h-btn{
    margin-top: auto;
    width: 100%;
}
.fl-h-zone .fl-h-btn p{
    text-align: center;
    /* font-size: 1.6rem; */
    padding: 0.5rem 4.0rem;
    /* font-weight: bold; */
    color: #202f55;
    /* background-color: #ffffff;*/
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 3.0rem;
}
.fl-h-zone:hover .fl-h-btn p{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}

/* ADDITIONAL */
/*.media-box {
  display: flex;
  gap: 1.5rem;
  align-items: stretch;
  margin: 0 auto;
}

/* --- left image (30%) --- */
/*.media-img {
  flex: 0 0 30%;
    overflow: hidden;
}

.media-img img {
  width: 100%;
  height: auto;
  display: block;
    /* ADD*/
/*      object-fit: cover;
  transition: transform 0.5s linear;
    /*ADD END */
}
/* ADD */
/*.media-box:hover > .media-img img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
/*.media-box:hover{
  background: rgba(230,230,250,0.2);
}*/
/* ADD END */
/* --- right text (70%) --- */
/*.media-text {
  flex: 1; padding-left: 20px;
}

/*.media-text h4 {
  margin-bottom: 0.5rem;
  font-weight: bold;
}

/*.media-text p {
  margin: 0;

    text-decoration: none;
}

/* --- responsive --- */
/*@media (max-width: 560px) {
  .media-box {
    flex-direction: column;
  }
.media-text {
  padding-left: 20px;padding-right: 20pz;
}
  .media-img,
  .media-text {
    flex: 0 0 100%;
  }
}
/* ADD */
/*.media-btn{
    margin-top: auto;
    width: 100%;
}
.media-box .media-btn p{
    text-align: center;
    padding: 0.5rem 4.0rem;
    color: #202f55;
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 1.0rem;
    margin-top: 2.0rem;
}
.media-btn p:hover{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
.media-btn p{
    text-align: center;
    padding: 0.5rem 4.0rem;
    color: #202f55;
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 1.0rem;
    margin-top: 2.0rem;
}
.media-btn p:hover{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
/* ADD END */
/* ---------------------------
TOP PAGE NEW SLIDER SETTING 20260113 SLIDER BOOTSTRAP
-------------------------------*/
.carousel-indicators {
  z-index: 9999;                 /* 前面に出す */
}
.carousel-indicators [data-bs-target] {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;

  /*border: 1px solid #00a8ff !important;   /* スカイブルーの縁 */
  background-color: #dddddd !important;    /* 非アクティブは白 */
  opacity: 1 !important;
}
/* ▼ アクティブ（塗りをスカイブルーに） */
.carousel-indicators .active {
  background-color: #00a8ff !important;    /* スカイブルー */
}

/* ▼ prev / next の矢印色 */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(59%) sepia(96%) saturate(746%) hue-rotate(165deg) brightness(96%) contrast(92%);
}
/* ---------------------------
TOP PAGE SLIDER COMMON SETTING 20260113 
-------------------------------*/
.zone3 p.mess {
    font-size: 4.2rem;
    padding: 1.0rem;
    display: block;
}
.zone3 p.desc {
    font-size: 2.6rem;
    padding: 1.0rem;
    display: block;
}
.zone3 p img {
    width:30.0rem;height: auto;
    padding: 1.0rem;
}

@media only screen and ( max-width : 1024px ) {
    .zone3 p.mess{font-size: 3.0rem;}
    .zone3 p.desc{font-size: 2.6rem;}
}
@media only screen and ( max-width : 960px ) {
    .zone3 p.mess{font-size: 3.6rem;}
    .zone3 p.desc{font-size: 2.4rem;}
}
@media only screen and ( max-width : 800px ) {
    .zone3 p.mess{font-size: 3.4rem;padding: 0.5rem;}
    .zone3 p.desc{font-size: 2.2rem;padding: 0.5rem;}
}
@media only screen and ( max-width : 560px ) {
    .zone3 p img { width:16.0rem;}
    .zone3 p.mess{font-size: 2.6rem;}
    .zone3 p.desc{font-size: 1.8rem;display: none;}
}
.swiper-slide .slide-content .zone3 {
    padding: 2rem;
}
.zone3 p.slider-btn2 a{
  display: inline-block;
  text-align: center;
  color:  #202f55;
  text-decoration: none;
  padding: 0.8rem 1.6rem;
    border: 1px solid #202f55;
    margin-right: 1.0rem;
    margin-left: 1.0rem;
    margin-top: 1.0rem;
    border-radius: 5px;
    background-color: #ffffff;
}
.zone3 p.slider-btn2 a:hover{
    color: #ffffff;
    background-color: #202f55;
}
.zone3 p.jirei a{
  display: inline-block;
  text-align: center;
  color: #739f3d;
  text-decoration: none;
  padding: 0.8rem 1.6rem;
    border: 2px solid #739f3d;
    margin-right: 1.0rem;
    margin-left: 1.0rem;
    margin-top: 1.0rem;
    border-radius: 5px;
    background-color: #ffffff;
}
.zone3 p.jirei a:hover{
    color: #ffffff;
    background-color: #739f3d;
}

/* TEST CASE STUDY BANNER */
/* 全体ボックス */
.full-box {
  display: flex;
  width: 100%;
  min-height: 220px;
border: 1px solid #202f55;
    /* border-radius: 5px; */
    padding: 10px;
}

/* 画像エリア */
.box-image {
  width: 30%; /* ← 40%にしたい場合は 40% に変更 */
  position: relative;
  overflow: hidden;
}

.box-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* エリアいっぱいに表示 */
  display: block;
}

/* テキストエリア */
.box-text {
  width: 70%;
  display: flex;
  align-items: center; /* 縦中央 */
}

.box-text-inner {
  padding: 2rem;
}

.box-text h2 {
  margin-bottom: 1rem;
}
.media-btn{
    margin-top: auto;
    width: 100%;
}
.media-btn p{
    text-align: center;
    padding: 0.5rem 4.0rem;
    color: #202f55;
    border: 1px solid #202f55;
    display:inline-block;
    margin-bottom: 1.0rem;
    margin-top: 2.0rem;
}
.media-btn p:hover{
    color: #ffffff;
    background-color: #202f55;
    border: 1px solid #202f55;
}
/* レスポンシブ（769px以下） */
@media screen and (max-width: 769px) {
  .full-box {
    flex-direction: column;
  }

  .box-image {
    width: 100%;
    height: 120px; /* 画像の高さを抑える */
  }

  .box-text {
    width: 100%;
    align-items: flex-start; /* SPでは通常配置 */
  }

  .box-text-inner {
    padding: 1.5rem;
  }
}
/* ----------------------------
/* TEST CASE STUDY BANNER 
-----------------------------*/
.webinar-container{width: 75%;margin: 0 auto;}
.webinar-image {
  width: 100%;
}
@media screen and (max-width: 960px) {
    .webinar-container{width: 100%;}
}
.webinar-image img {
  width: 100%;
  height: auto;      /* 縦横比を維持 */
  display: block;    /* 画像下の余白防止 */
}
/* WEBINAR LOGO&TITLE */
/* 親コンテナ */
.webinar-logo-text {
  display: flex;
  align-items: stretch;
  width: 100%;
    border-bottom: 1px solid #eee;
}

/* 左：ロゴエリア（20%） */
.webinar-logo-area {
  width: 10%;
  display: flex;
  align-items: center;     /* 縦中央 */
  justify-content: center; /* 横中央 */
  /*background: #f5f5f5;  */   /* 確認用（不要なら削除） */
}

/* ロゴサイズ調整 */
.webinar-logo-area img {
  max-width: 80%;
  height: auto;
  border-radius: 5px; 
}

/* 右：テキストエリア（80%） */
.webinar-text-area {
  width: 90%;
  padding: 20px;
}

.webinar-text-area h2{font-size: 2.8rem;}
/* ---------- 960px以下 ---------- */
@media screen and (max-width: 960px) {
  .webinar-logo-area {
    width: 12%;
  }

  .webinar-text-area {
    width: 88%;
  }
    .webinar-text-area h2{font-size: 2.2rem;}
}
/* ---------- 560px以下 ---------- */
@media screen and (max-width: 560px) {
  .webinar-logo-area {
    width: 14%;
  }

  .webinar-text-area {
    width: 86%;
  }
    .webinar-text-area h2{font-size: 1.8rem;}
}



.hero-box {
  position: relative; /* ★必須 */
  width: 100%;
  height: 360px;

  background-image: url("../images/seminar/Banner.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* background-color: #000; */ /* 余白部分の色 */
}

/* リンクを全面に */
.hero-box a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #fff;
}
.hero-box a:hover {
    filter:alpha(opacity=80);-ms-filter:"alpha(opacity=80)";
}
/* 文字配置 */
.hero-inner {
  position: absolute;
  inset: 0;
  z-index: 2;

  display: flex;
  flex-direction: column;
  justify-content: center;
      align-items: flex-start;   /* ★左寄せ */
  text-align: left;          /* ★左寄せ */
  padding: 2rem;
  /* background: rgba(0, 0, 0, 0.35); */
}

/* 文字装飾 */
.hero-inner h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.hero-inner p {
  font-size: 1.1rem;
}

@media screen and (max-width: 769px) {
  .hero-box {
    height: 200px;
  }
}

.hero-inner p.ttl {
  font-size: clamp(1.8rem, 3vw, 4.6rem);
    line-height: 1.8;
}
.hero-inner p.des {
  font-size: clamp(1.4rem, 2.5vw, 3.0rem);
    line-height: 1.5;
}

.hero-box a:hover{ opacity:0.8;
    filter:alpha(opacity=80);-ms-filter:"alpha(opacity=80)";
}
