@charset "utf-8";

@import url(//fonts.googleapis.com/earlyaccess/notosanskannada.css);

html {
  height: 100dvh;
  font-family: 'Noto Sans Kannada', sans-serif;
  scroll-behavior: smooth;
}
body {
	padding: 0;
	margin: 0;
	background: #333;
	height: 100dvh;
	overflow-y: scroll;
	overflow-x: hidden;
}
/* スクロールバーを非表示にする（スクロール機能は残す） */
* {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE, Edge */
}
*::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}
main {
	padding-top: 50px;
	width: 100%;
    z-index: 0;
    position: relative;
    display: inline-block;
}
p {
	margin: 0 auto;
}
body.main .container-top section.main-content-head {
	position: relative;
    /*color: #014370;*/
    color: #FFF;

    width: 220px;
    width: 820px;
    height: 65px;
    text-align: center;
    font-weight: bold;
    font-size: 26px;
    /*line-height: 17px;*/

    /*left: -350px;*/
    /*margin-left: 50%;*/
    padding: 5px 20px;
    /*margin-top: 200px;*/

	margin: 0 auto;
    left: unset;
    line-height: 35px;
    /*height: 35px;*/
    background: transparent;



    display: inline-block;
    overflow: auto;
    box-sizing: border-box;
    width: 100%;
    height: 100vh;
}
body.main .container-top section.main-content-head .animation-text {
	margin: 18px auto;
}
p.animation-text.slideIn-bttom.end {
  display: none;
}
section#Outline {
  display: inline-block;
}
.container-top .main-content-sub-title p {
	font-size: 12px;
	opacity: 0.7;
	color: #FFF;
    margin: 0;
}
.container-top div#content .text-content-wrap {
  position: fixed;
  margin-top: 0;
  top: 42%;
  display: inline-block;
  /* position: relative; */
  width: 100%;
  height: auto;
  display: inline-block;
  left: 0;
  /* top: 0; */
}
.container-top div#content img {
    width: 220px;
}
.footer-menu-content-li p {
    z-index: 3;
    transition-duration: .4s;
}
.footer-menu-content-li.active p {
    /*background: #FFF;*/
    color: #333;
    cursor: pointer;
}

.footer-menu-bg {
-webkit-transition: all 500ms cubic-bezier(0.005, 0.685, 0.025, 1); /* older webkit */
-webkit-transition: all 500ms cubic-bezier(0.005, 0.685, 0.025, 1.045);
   -moz-transition: all 500ms cubic-bezier(0.005, 0.685, 0.025, 1.045);
     -o-transition: all 500ms cubic-bezier(0.005, 0.685, 0.025, 1.045);
        transition: all 500ms cubic-bezier(0.005, 0.685, 0.025, 1.045); /* custom */

-webkit-transition-timing-function: cubic-bezier(0.005, 0.685, 0.025, 1); /* older webkit */
-webkit-transition-timing-function: cubic-bezier(0.005, 0.685, 0.025, 1.045);
   -moz-transition-timing-function: cubic-bezier(0.005, 0.685, 0.025, 1.045);
     -o-transition-timing-function: cubic-bezier(0.005, 0.685, 0.025, 1.045);
        transition-timing-function: cubic-bezier(0.005, 0.685, 0.025, 1.045); /* custom */
}
.footer-menu-content-li.active .footer-menu-bg {
    height: 100% !important;
    background: #FFF !important;
    /*transition-timing-function:ease-in-out;*/
}



/* Top 会社概要 */
.humburger {
    display: none;
}

section#Outline,
section#Result {
    height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
}

.conSection {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
h2.conTitle {
  letter-spacing: 6px;
  font-size: 7.5rem;
  line-height: 1.4;
  /* max-width: 80%; */
  margin: 15px auto 0;
  height: 120px;
  overflow: hidden;
}
.ruby {
    position: absolute !important;
    font-weight: normal;
    width: 200px;
    left: 50%;
    margin-left: -100px;
    text-align: center;
    margin-top: -30px;
    font-size: 0.75rem;
    min-width: max-content;
}
h2.conTitle span.ruby {
  line-height: 1.4;
  padding-top: 5px;
}
h2.conTitle span.result-ruby {
  position: relative !important;
  top: auto !important;
  margin-top: 0 !important;
}
div.conText {
    max-width: unset;
    font-size: 10px;
}
dl {
    display: flex;
    text-align: left;
    line-height: 3.0;
    width: auto;
    font-weight: bold;
    letter-spacing: 1px;
    left: 25px;
    position: relative;
}
dl dt {
    min-width: 70px;
}
dl dd {
    margin-left: 22px;
}
dl dd.imgwrp {
  line-height: initial;
}
dd .bbdot {
    line-height: 33px;
    border-bottom: 1px dotted;
    line-height: 25px;
    text-decoration: none;
}
.resultGrid {
    text-align: center;
}
.resultGrid .bbdot {
    display: inline-block;
    margin: 0 15px 15px 0;
    border-bottom: 1px dotted;
    line-height: 25px;
    text-decoration: none;
    padding-bottom: 2px;
    white-space: nowrap;
}
.resultGrid p {
    margin-bottom: 0;
    line-height: 2.5;
}
ul, li {
    box-sizing: border-box;
}
ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
a {
    text-decoration: none;
    color: inherit;
}


/* *************************
* FIRST MAIN LOGO ANIMATION
*
************************* */
@keyframes slideFromBottom {
    0% {
        opacity: 0;
        transform : translate(0%,100%);
    }
    100% {
        opacity: 1;
        transform : translate(0%,0%);
    }
}
@keyframes slideToTop {
    0% {
        opacity: 1;
        transform : translate(0%,0%);
    }
    100% {
        opacity: 0;
        transform : translate(0%,-100%);
    }
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes swayTop {
    0% {
        transform : translate(0%,0%);
    }
    100% {
        transform : translate(0%,-30%);
    }
}
.slideIn-bttom {
    overflow: hidden;
    animation-name: fadeIn;
    animation-duration: .5s;
}
.slideIn-bttom img {
    opacity: 0;
}
.slideIn-bttom.on img {
    opacity: 1;
    transform : translate(0%,0%);
    animation-name: slideFromBottom;
    animation-duration: .5s;
}
.slideIn-bttom.off img {
    opacity: 0;
    transform : translate(0%,-100%);
    animation-name: slideToTop;
    animation-duration: .5s;
}

.slideIn-bttom.swayTop img {
    opacity: 1;
    transform : translate(0%,-30%);
    animation-name: swayTop;
    animation-duration: .5s;
}


.slideIn-bttom #Outline {
    opacity: 0;
}
.slideIn-bttom.on #Outline {
    opacity: 1;
    transform : translate(0%,0%);
    animation-name: fadeIn;
    animation-duration: .5s;
}
/* .slideIn-bttom.off #Outline {
    opacity: 0;
    transform : translate(0%,-100%);
    animation-name: slideToTop;
    animation-duration: .5s;
}

.slideIn-bttom.swayTop #Outline {
    opacity: 1;
    transform : translate(0%,-30%);
    animation-name: swayTop;
    animation-duration: .5s;
} */

/* モバイル版: レスポンシブ調整 */
@media screen and (max-width: 768px) {
    body {
        overflow: hidden; /* モバイルでは通常のスクロールを完全に禁止 */
        touch-action: pan-y; /* 垂直方向のタッチジェスチャーのみ許可 */
    }
    
    .conOuterBlock {
        padding: 20px;
    }
    
    h2.conTitle {
        font-size: 4rem;
        height: auto;
        margin: 0 auto 20px;
    }
    
    .ruby {
        font-size: 0.65rem;
        margin-top: -10px;
    }
    
    div.conText {
        font-size: 9px;
    }
    
    dl {
        line-height: 2.5;
        left: 10px;
    }
    
    dl dt {
        min-width: 60px;
    }
    
    dl dd {
        margin-left: 15px;
    }
    
    dd .bbdot {
        line-height: 20px;
    }
    
    .resultGrid .bbdot {
        margin: 0 10px 10px 0;
        font-size: 9px;
    }
}
