@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;800&display=swap");
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
/*===================================================
 css reset
====================================================*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, img, a,
ol, ul, li,
form, label,
table, tbody, tfoot, thead, tr, th, td,
article,footer, header, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
	text-decoration: none;
	vertical-align: baseline;
}
/*====== Web Font =================================================
font-family: 'Inter', sans-serif;
font-family: 'Lato', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Rubik', sans-serif;
font-family: 'Sawarabi Mincho', serif;
==================================================================*/
*,
*::before,
*::after {box-sizing: inherit}
*{box-sizing:content-box;}
html{
	font-family:"Noto Sans Japanese", "Hiragino kaku Gothic Pron","ヒイラギ各ゴ proN w3","Arial","メイリオ",Vardana,sans-serif;
}
body{
	overflow-x: hidden;
    color:#000;
    font-size:1rem;
}
a{
	color: #333;
	text-decoration: none;
    outline: none;
}
/*===================================================
 Header CSS
====================================================*/
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
    max-width:100%;
	z-index:888;
	height:80px;
	line-height:80px;
    /*background:#fff;*/
}
.header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:90%;
	margin:0 auto;
}

#logo{
	width:90%;
	vertical-align:middle;
}
ul.pc_menu{
	width:90%;
	display:block;
	display:flex;
	justify-content: flex-end;
}
ul.pc_menu li {
	width:auto;
    margin-right:80px;
}
ul.pc_menu li:last-child {
	width:auto;
    margin-right:0px;
}
ul.pc_menu li a{
	font-family: 'Lato', sans-serif;
    font-size:0.8rem;
	/*color:#000000;*/
    color:#fff;
	letter-spacing:0.1rem;
}
ul.pc_menu li a .jp{
	display:none;
}
ul.pc_menu li a:hover .en{
	display:none;
}

ul.pc_menu li a:hover .jp{
	display:inline-block;
	text-decoration: underline;
	text-decoration-color: #0000ff;
	text-decoration-thickness: 8px;
	text-underline-offset: 0.5em;
	font-family: 'Lato', sans-serif;
}

.line-icon{
	display:inline-block;
	width:17%;
	vertical-align:middle;
	margin-left:2%;
}

ul.pc_menu li.rev{
	width:20%;
	text-align:center;
}
ul.pc_menu li.rev a{
	color:#000;
	background-image: linear-gradient(180deg, rgba(155, 119, 133, 1) 30%, rgba(233, 233, 233, 1));
	padding:10px 20px;
	border-radius:40px;
}
ul.pc_menu li.rev a:hover{
	text-decoration: none;
}
/***********************************
 ヘッダーの文字色を変える
***********************************/
header.scroll-nav .pc_menu li a{
    color:#000;
}

.drawer__button,
.drawer__nav {
	display:none;
}
@media screen and (max-width: 1024px) {
    ul.pc_menu {
        display:none;
    }
    #logo {
        width:60%;
    }
    .drawer__button {
        display:block;
        position:relative;
        width:3rem;
        height:3rem;
        background-color: transparent;
        border:none;
        cursor:pointer;
        z-index:999;
    }
    /* ハンバーガーボタン内の線 */
    .drawer__button > span{
        display:block;
        position: absolute;
        top:50%;
        left:50%;
        width:3rem;
        height:3px;
        background-color: #000;
        transform: translateX(-50%);
    }
    .drawer__button > span:first-child {
        transform: translate(-50%, calc(-50% - 0.5rem));
        transition: transform 0.3s ease;
    }
    .drawer__button > span:nth-child(2) {
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease;
    }
    .drawer__button > span:last-child {
        transform: translate(-50%, calc(-50% + 0.5rem));
        transition: transform 0.3s ease;
    }
    /* 展開時のデザイン */
    .drawer__button.active > span:first-child {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
    .drawer__button.active > span:nth-child(2) {
        opacity: 0;
    }
    .drawer__button.active > span:last-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }
    .drawer__nav {
        display:block;
        position:fixed;
        top:0;
        left:0;
        width: 100%;
        height:100vh;
        background-color: rgba(0, 0, 0, 0.5);
        transition: opacity 0.3s ease;
        opacity: 0;
        visibility: hidden;
    }
    .drawer__nav.active {
        opacity: 1;
        visibility: visible;
    }
    .drawer__nav__inner {
        position: relative;
        width:60%;
        height:100%;
        background-color: #fff;
        padding:3rem 1.5rem 1rem;
        margin: 0 0 0 auto;
        overflow: scroll;
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
    .drawer__nav.active .drawer__nav__inner {
        transform: translateX(0);
    }
    .drawer__nav__menu {
        list-style: none;
        padding-left: 0;
    }
    .drawer__nav__link {
        display:block;
        color:#000;
        text-decoration: none;
        padding: 0.1rem 0.4rem;
        border-bottom: solid 1px lightgray;
    }
    .drawer__nav__link img {
        width:10%;
    }
}
@media screen and (max-width: 821px) {
    #logo{
        width:50%;
    }
}
/********************************************************
 Top VIDEO play
 *******************************************************/

/* コンテナ全体をレスポンシブ対応 */
.video_wrapper {
    position: relative;
    width: 100%;
    /*height:100vh;*/
    padding-top: 56.25%; /* 16:9 のアスペクト比 */
    overflow: hidden;
}
/* 動画スタイル */
.video_wrapper > video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 動画をコンテナにフィットさせる */
}
/* テキストオーバーレイ */
.overlay-text {
    position: absolute;
    top: 10%;
    left: 4%;
    /*transform: translate(-50%, -50%);*/
    color:#ffff00;
    font-size: 4.5vw; /* 文字サイズ */
    font-weight: bold;
    /*text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7); *//* 文字の影 */
    z-index: 1; /* 動画より前面に表示 */
    /*text-align: center;*/
    pointer-events: none; /* テキストはクリックを無視 */
    font-family: 'Inter', sans-serif;
}
@media screen and (max-width: 768px) {
    .overlay-text {
        top: 12%;
        left: 8%;
        font-size:4vw; /* 文字サイズ */
    }
}
@media screen and (max-width: 500px) {
    .overlay-text {
        top: 20%;
        left: 10%;
        font-size:4vw; /* 文字サイズ */
    }
}

/********************************************************
 thumbnail box
 *******************************************************/
 .thumbnail-container {
    width:100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin: 20px auto;
    padding:50px 0;
    /*background:#fffff0;*/
    align-items: stretch;
    /*border-bottom: 2px solid #f9f9e2;*/
}
.thumb_box{
    /*background:#ffff00;*/
    width:auto;
    height:auto;
}
.stage {
    position: relative;
    width: 100%;
    max-width: 400px;
    height: auto;
    cursor: pointer; 
    /*background:#ff0000;*/
    margin:0 auto;
}

.stage video {
    width: 100%;
    height: auto;
    object-fit: cover;
    border: 4px solid #000;
    border-radius: 10px;
}

.stage .start-mark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    color:#fff;
    background: rgba(0, 0, 0, 0.2);
    padding: 8px 16px;
    border-radius: 50%;
    pointer-events: none; /* マークはクリックを無視 */
    display: flex;
    align-items: center;
    justify-content: center;
}
.stage:hover .start-mark {
    background: rgba(0, 0, 0, 0.8); /* ホバーで濃くなる */
}
.info-card {
    /*background: #fff;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);*/
    padding:10px 0px 20px;
    width: 100%;
    max-width: 380px;
    height:auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin:0 auto;
}
/* タイトルの前にマークを入れる*/
.info-card h3 {
    position: relative;
    margin: 0 0 3px;
    font-size: 1rem;
    height:2rem;
    color: #000;
    padding-left: 0.5rem; /* スタートマーク分の余白 */
    padding-bottom: 20px;
    display: inline-block; /* 複数行の調整に必要 */
    line-height: 1.4; /* 行間の調整 */
    border-bottom: 2px solid #000;
}

.info-card p {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.6;
    letter-spacing: 0.1rem;
    color: #111;
}
@media (max-width: 1350px) {
    .thumb_box{
        /*background:#ffff00;*/
        width:28%;
        height:auto;
    }
    .info-card {
        /*background: #ff0000;*/
        padding:10px 0px 20px;
        width: 100%;
        max-width: 380px;
        height:auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin:0 auto;
    }
    
}
@media (max-width: 1024px) {
    .info-card h3 {
        position: relative;
        margin: 0 0 3px;
        font-size: 0.9rem;
        height:2rem;
        color: #000;
        padding-left: 0.2rem; /* スタートマーク分の余白 */
        padding-bottom: 20px;
        display: inline-block; /* 複数行の調整に必要 */
        line-height: 1.4; /* 行間の調整 */
        border-bottom: 2px solid #000;
    }
}
@media (max-width: 912px) {
    .info-card h3 {
        position: relative;
        margin: 0 0 3px;
        font-size: 0.9rem;
        height:2.7rem;
        color: #000;
        padding-left: 0.2rem; /* スタートマーク分の余白 */
        padding-bottom: 20px;
        display: inline-block; /* 複数行の調整に必要 */
        line-height: 1.4; /* 行間の調整 */
        border-bottom: 2px solid #000;
    }
}
@media (max-width: 768px) {
    .thumbnail-container {
        width:100%;
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: center;
        margin: 20px auto;
        padding:50px 0;
        background:#fffff0;
        align-items: stretch;
        border-bottom: 2px solid #f9f9e2;
    }
    
    .info-card {
        width: 100%;
    }
    .thumb_box{
        /*background:#ffff00;*/
        width:80%;
        height:auto;
    }
}
/***** バナー３ **********************************/
.banner3{
    width:60%;
    margin: 50px auto;

}
.banner3 a{
    z-index: 1000;
}
.bn3{
    background:#ccc;
    width:100%;
    text-align:center;
}
img.bn3{
    width:100%;
}
@media (max-width: 1024px) {
    .banner3{
        width:90%;
        margin: 50px auto;
        background:#ccc;
    }
}

/********************************************************
 popup-video
 *******************************************************/
/* ポップアップスタイル */
.popup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 70%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5);
}
.popup video {
    width: 100%;
    height: 100%;
}
.popup .close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 10px;
    border-radius: 5px;
    z-index:999;
}
.popup .close:hover {
    background: rgba(255, 255, 255, 0.5);
}
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: none; /* 初期状態は非表示 */
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
    .popup .close {
        font-size: 1.2rem;
        top: 5px;
        right: 10px;
    }
}
@media (max-width: 480px) {
    .popup {
        width: 95%;
        max-height: 70%;
    }
    .popup .close {
        font-size: 1rem;
        padding: 3px 7px;
    }
}

@media screen and (max-width: 768px) {
    .thumbnail {
        width: 28%;
        height: 180px;
        background-color: #ccc;
        cursor: pointer;
        border: 4px solid transparent;
        border-radius: 1%;
        transition: border-color 0.3s ease;
    }
}
@media screen and (max-width: 500px) {
    .thumbnail {
        width: 24%;
        height: 120px;
        background-color: #ccc;
        cursor: pointer;
        border: 4px solid transparent;
        border-radius: 1%;
        transition: border-color 0.3s ease;
    }
}

/********************************************************
 Slider
 *******************************************************/

/* #slid_box{
    width:100%;
    height:100vh;
    background:#000;
}
#vegas-slideshow {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow:hidden;
}
#vegas-slideshow > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

.top-img::after{
    content:"";
    position:absolute;
    background-image: url("../img/ai-min.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position:top;
    width:58%;
    height:100%;
    top:0;
	right:55%;
    z-index:999;
}
*/
.container {
    position:relative;
    top:0;
    right:-30%;
    width:69%;
    height:100%;
    background:#fff;
    z-index:999;
}
.container h2.bigt{
    content:"";
    position:absolute;
    width:58%;
    height:23%;
    bottom:0;
    left:0;
    font-size:3.5rem;
    font-weight:bold;
    color: #fff;
    font-family: 'Inter', sans-serif;
    /*background:#ccc;*/
}
.container h2.bigt span{
    display:inline-block;
    color:#ff0000;
    font-size: 4rem;
}
.container h2.gigt2{
    content:"";
    position:absolute;
    width:42%;
    height:23%;
    bottom:0;
    right:0;
    color:#ffff00;
    text-align:left;
    font-size:9rem;
    letter-spacing:0.1rem;
    font-family: 'Inter', sans-serif;
    
}
@media screen and (max-width: 1844px) {
    .container h2.bigt{
        height:27%;
        font-size:3.3rem;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:8rem;
        letter-spacing:0.1rem;
    }
    
}
@media screen and (max-width: 1720px) {
    .container h2.bigt{
        font-size:3rem;
    }
    .container h2.bigt span{
        font-size: 3.4rem;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:7.2rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1592px) {
    .container h2.bigt{
        font-size:2.9rem;
        z-index:9999;
    }
    .container h2.bigt span{
        font-size: 3.2rem;
    }
    .container h2.gigt2{
        font-size:7rem;
    }
}
@media screen and (max-width: 1510px) {
    .container h2.bigt{
        height:23%;
        font-size:3rem;
        z-index:9999;
    }
    .container h2.bigt span{
        display:inline-block;
        color:#ff0000;
        font-size: 3.5rem;
        z-index:9999;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:6.2rem;
        letter-spacing:0.1rem;
        text-align:center;
    }
}
@media screen and (max-width: 1497px) {
    /*.top-img::after{
        width:55%;
        height:75%;
        top:25%;
        right:57%;
    }*/
    .container h2.bigt{
        height:23%;
        font-size:2.8rem;
    }
    .container h2.bigt span{
        font-size: 3.2rem;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:6.2rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1388px) {
    /*.top-img::after{
        width:55%;
        height:70%;
        top:30%;
        right:57%;
    }*/
    .container h2.bigt{
        height:23%;
        font-size:2.5rem;
    }
    .container h2.bigt span{
        font-size: 3rem;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:6.2rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1294px) {
    /*.top-img::after{
        width:53%;
        height:65%;
        top:35%;
        right:58%;
    }*/
    .container h2.bigt{
        height:23%;
        font-size:2.5rem;
    }
    .container h2.bigt span{
        font-size: 3rem;
    }
    .container h2.gigt2{
        height:23%;
        bottom:0;
        font-size:6.2rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1273px) {
    /*.top-img::after{
        width:53%;
        height:60%;
        top:40%;
        right:58%;
    }*/
    .container h2.bigt{
        height:20%;
        font-size:2.1rem;
    }
    .container h2.bigt span{
        font-size: 2.7rem;
    }
    .container h2.gigt2{
        height:20%;
        bottom:0;
        font-size:5.6rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1195px) {
    /*.top-img::after{
        width:53%;
        height:60%;
        top:40%;
        right:58%;
    }*/
    .container h2.bigt{
        height:20%;
        font-size:2.1rem;
    }
    .container h2.bigt span{
        font-size: 2.7rem;
    }
    .container h2.gigt2{
        height:20%;
        bottom:0;
        font-size:5.3rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1132px) {
    /*.top-img::after{
        width:53%;
        height:55%;
        top:45%;
        right:58%;
    }*/
    .container h2.bigt{
        height:18%;
        font-size:1.9rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        height:18%;
        bottom:0;
        font-size:4.8rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 1024px) {
    /*.top-img::after{
        width:53%;
        height:45%;
        top:55%;
        right:58%;
    }*/
    .container h2.bigt{
        height:15%;
        font-size:1.8rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        height:15%;
        bottom:0;
        font-size:4.2rem;
        letter-spacing:0.1rem;
    }
}

@media screen and (max-width: 912px) {
    /*.top-img::after{
        width:53%;
        height:45%;
        top:55%;
        right:58%;
    }*/
    .container h2.bigt{
        height:15%;
        font-size:1.7rem;
    }
    .container h2.bigt span{
        font-size: 2.1rem;
    }
    .container h2.gigt2{
        height:15%;
        bottom:0;
        font-size:4rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 831px) {
    /*.top-img::after{
        width:70%;
        height:55%;
        top:45%;
        right:45%;
    }*/
    .container h2.bigt{
        width:80%;
        height:12%;
        left:20%;
        bottom:12%;
        font-size:1.5rem;
    }
    .container h2.bigt span{
        font-size: 2rem;
    }
    .container h2.gigt2{
        width:50%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:4rem;
        letter-spacing:0.1rem;
    }
}
/*
@media screen and (max-width: 768px) {
    .top-img::after{
        width:70%;
        height:55%;
        top:45%;
        right:45%;
    }
    .container h2.bigt{
        width:80%;
        height:12%;
        left:20%;
        bottom:12%;
        font-size:1.8rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        width:50%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:4rem;
        letter-spacing:0.1rem;
    }
}
*/
@media screen and (max-width: 720px) {
    /*.top-img::after{
        width:70%;
        height:55%;
        top:45%;
        right:45%;
    }*/
    .container h2.bigt{
        width:80%;
        height:12%;
        left:20%;
        bottom:12%;
        font-size:1.8rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        width:50%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:3.8rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 668px) {
    /*.top-img::after{
        width:70%;
        height:55%;
        top:45%;
        right:45%;
    }*/
    .container h2.bigt{
        width:80%;
        height:12%;
        left:20%;
        bottom:12%;
        font-size:1.8rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        width:50%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:3.5rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 615px) {
    /*.top-img::after{
        width:70%;
        height:55%;
        top:45%;
        right:45%;
    }*/
    .container h2.bigt{
        width:80%;
        height:12%;
        left:20%;
        bottom:12%;
        font-size:1.8rem;
    }
    .container h2.bigt span{
        font-size: 2.2rem;
    }
    .container h2.gigt2{
        width:50%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:3.2rem;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 536px) {
    /*.top-img::after{
        width:65%;
        height:40%;
        top:60%;
    }*/
    .container h2.bigt{
        height:11%;
        font-size:1rem;
    }
    .container h2.bigt span{
        font-size: 1.2rem;
    }
    .container h2.gigt2{
        height:11%;
        font-size:2.2rem;
    }
}
@media screen and (max-width: 454px) {
    /*.top-img::after{
        width:90%;
        height:45%;
        top:55%;
        right:35%;
    }*/
    .container h2.bigt{
        width:90%;
        height:12%;
        bottom:10%;
        left:10%;
        font-size:1.2rem;
    }
    .container h2.gigt2{
        width:80%;
        height:12%;
        bottom:0;
        right:10%;
        font-size:3rem;
        text-align:right;
        letter-spacing:0.1rem;
    }
}
@media screen and (max-width: 380px) {
    /*.top-img::after{
        width:80%;
        height:52%;
        top:48%;
        right:40%;
    }*/
    .container h2.bigt{
        width:80%;
        height:12%;
        bottom:15%;
        left:20%;
        font-size:1rem;
    }
    .container h2.gigt2{
        width:60%;
        height:12%;
        bottom:5%;
        text-align:center;
        font-size:2.5rem;
    }
}

.shiro{
	background:#fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/*****************************************************
 main section
*****************************************************/
#biz,
#news{
    display:block;
    width:100%;
    max-height:850vh;
    height:auto;
    /*background:#008000;*/
    margin:100px 0 0;
}
.secTitle{
    width:100%;
    margin:0;
    background:#fffafa;
    padding:10px 0 25px;
    text-align:center;
}
.secTitle h2 {
    display:block;
    font-size:3rem;
    padding:10px 0;
}

.secTitle h2.mm {
display:block;
font-size:2rem;
padding:20px 0;
}

.secTitle h2 span{
    display:block;
    font-size:1rem;
    margin:0 auto 15px;
    padding:0 0 0 0;
    max-width:80px;
    border-bottom:10px solid #008000;
}
@media screen and (max-width: 667px) {
    .secTitle h2.mm {
        display:block;
        font-size:1.2rem;
        padding:15px 0;
    }
}

/**** デバイス横向きで
 画面の横幅が 1024px 以下の場合のスタイルを記述 ******/
 
 @media screen and (max-width: 1024px) and (orientation: landscape) {
    
    /*#biz,
    #news{
        max-height:800vh;
        height:auto;
    }
    */
    
 }
@media screen and (max-width: 912px) {
    .secTitle h2 {
        display:block;
        font-size:2.5rem;
        padding:10px 0;
    }
    p.allnews{
        display:none;
    }
    .allnews2{
        display:block;
        width:100%;
        text-align:center;
        padding:10px;
    }
    .allnews2 a{
        color:#0000ff;
        padding:0 0 10px 0;
        border-bottom:5px solid #0000ff;
    }
}
/*
@media screen and (max-width: 821px) {
    #biz,
    #news{
        max-height:117vh;
        height:auto;
    }
}
@media screen and (max-width: 768px) {
    #biz,
    #news{
        max-height:115vh;
        height:105vh;
    }
}
@media screen and (max-width: 767px) {
    #biz,
    #news{
        max-height:400vh;
        height:auto;
    }
}
@media screen and (max-width: 720px) {
    #biz,
    #news{
        max-height:700vh;
        height:auto;
    }
}
*/

/**************************************************
 News List
***************************************************/



/**************************************************
 main section
***************************************************/
.flex_topics{
    display:block;
    width:94%;
    max-height:800vh;
    height:auto;
    margin:0 auto 100px;
    padding:0;

}
ul.list,
ul.news-list{
    display:flex;
    justify-content: center;
    width:100%;
    max-height:800vh;
    height:auto;
    padding:20px 0;
    /*align-items: center;*/
}
ul.list li,
ul.news-list li{
    width:23%;
    max-width:33%;
    max-height:350vh;
    height:auto;
    text-align:center;
    margin:0 2%;
    overflow:hidden;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding:10px 0 30px;
    border-radius: 0 0 20px 20px;
}
.news-img{
    width:100%;
    text-align:center;
}
.news-img img{
    width:96%;
    height:96%;
}
.m-box{
    width:100%;
    height:auto;
    padding:10px 0;
}
.m-box span{
    display:block;
    padding:0;
    font-weight:bold;
}
.m-boxA span{
    display:block;
    margin-bottom:5px;
}
.m-boxA{
    width:100%;
    height:auto;
    padding:10px 0;
    font-weight: bold;
}

ul.list li p,
ul.news-list li p{
    width:95%;
    margin:0 auto;
    padding:0;
    font-size:1rem;
    line-height:1.5rem;
    letter-spacing: 0.1rem;
    text-align:left;
    max-height:200vh;
    height:auto;
    padding:0;
}
.more{
    display:block;
}
.more a{
    display:block;
    width:20%;
    float:right;
    margin:20px  30px 0 0;
    color:#0000ff;
    font-size:0.9rem;
    padding:5px 0;
    border:1px solid #0000ff;
    border-radius: 50px;
}
.more a:hover{
    color:#fff;
    background:#4169e1;
}
@media screen and (max-width: 1366px) {
    .flex_topics{
        width:96%;
    }
    .m-box span{
        font-size:0.9rem;
    }
}

@media screen and (max-width: 1024px) {
    .m-box{
        padding:15px 0;
    }
    .m-box span{
        font-size:0.9rem;
    }
    ul.list,
    ul.news-list{
        /*max-height:1000vh;*/
        height:auto;
        flex-wrap:center;
        padding:0 0 50px;
    }
    ul.list li,
    ul.news-list li{
        width:33%;
        max-width:33%;
        height:auto;
        margin:0 2% 40px;
    }
    ul.list li p,
    ul.news-list li p{
        font-size:0.8rem;
        line-height:1.5rem;
        height:100px;
    }
}
@media screen and (max-width: 912px) {
    /*
    ul.list{
        flex-wrap:wrap;
    }
    ul.list li{
        width:46%;
        max-width:46%;
        height:auto;
        margin:0 2% 40px;
    }
    */

}
@media screen and (max-width: 768px) {
    ul.list,
    ul.news-list{
        height:auto;
        flex-wrap:wrap;
    }
    ul.list li p,
    ul.news-list li p{
        height:120px;
    }
    
}
@media screen and (max-width: 768px) {
    .flex_topics{
        display:block;
        width:80%;
    }
    ul.list,
    ul.news-list{
        height:auto;
        min-height:1200px;
        display:block;
        padding:10px 0;
    }
    ul.list li,
    ul.news-list li{
        width:96%;
        max-width:98%;
        height:auto;
        margin:0 auto 40px;
    }
    .m-box span{
        font-size:1.2rem;
    }
    ul.list li p,
    ul.nres-list li p{
        height:110px;
        font-size: 1rem;
    }
    .more a{
        font-size:1rem;
        padding:8px 0;
    }
}
@media screen and (max-width: 667px) {
    ul.list li p,
    ul.news-list li p{
        max-height:200px;
        height:auto;
        font-size: 1rem;
    }
}
/***********************************************
 info service
***********************************************/
#s-info{
    width:100%;
    height:auto;
    max-height:1300vh;/*130vh*/
    overflow: hidden;
    /*background:#ff0000;*/
}
.system-box{
    width:90%;
    height:auto;
    max-height:750px;
    margin:50px auto;
    padding:10px 0 50px;
    display:flex;
    justify-content:space-between;
}
.system-box .s-list{
    width:30%;
    position:relative;
    top:0;
    left:0;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    padding:20px 0 40px;
    border-radius: 0 0 25px 25px;
}
.system-img {
    width:100%;
    text-align:center;
}
.system-img img{
    width:90%;
}
.up-mg{
    position:absolute;
    width:50%;
    top:0;
    left:0;
}
.up-mg img{
    width:100%;
}
.s-list h4{
    width:90%;
    margin:0 auto;
    font-weight:bold;
    padding:20px 0;
    text-align:center;
}
p.sys_text{
    width:90%;
    margin:0 auto;
    font-size:1rem;
    line-height:1.8rem;
}
@media screen and (max-width: 1366px) {
    .system-box{
        width:96%;
    }
    .system-box .s-list{
        width:32%;
    }
    .s-list h4{
        width:96%;
        height:4rem;
        padding:0;
        line-height: 4rem;
        /*overflow: hidden;*/
    }
}
@media screen and (max-width: 912px) {
    /*.system-box{
        width:90%;
    }
    .system-box .s-list{
        width:33%;
        position:relative;
        top:0;
        left:0;
    }*/
    .system-img img{
        width:90%;
    }
    .up-mg{
        left:-5px;
    }
}
@media screen and (max-width: 768px) {
    .system-box{
        width:80%;
        max-height:340vh;
        height:auto;
        display:block;
    }
    .system-box .s-list{
        width:100%;
        padding:20px 0;
        margin-bottom:60px;
    }
    .system-img {
        width:90%;
        margin:0 auto;
    }
    .system-img img{
        width:100%;
    }
    .s-list h4{
        font-size: 1.5rem;
    }
    p.sys_text{
        font-size:1.2rem;
        line-height:1.8rem;
    }
}
@media screen and (max-width: 720px) {
    /*#s-info{
        width:100%;
        height:auto;
        overflow: hidden;
        background:#d84950
    }*/
}
/**********************************************
 company css
**********************************************/
.info_box{
    width:100%;
    height:auto;
    padding:30px 0 0;
}
.info_box dl.in{
    width:80%;
    margin:0 auto;
    padding:20px 0;
    display:flex;
    flex-wrap:wrap;
}
.info_box dl.in dt{
    display:inline-block;
    width:22%;
    height:50px;
    padding:0;
    font-size: 1.5rem;
    font-weight: bold;
    text-align:center;
    background:#0000ff;
    color:#fff;
    margin:0 2% 20px 0;
    line-height: 55px;
    border-bottom: 1px solid #0000ff;
}
.info_box dl.in dd {
    width:75%;
    height:50px;
    margin:0;
    padding:0 0 0 10px;
    font-size: 1.2rem; 
    background:#fff;
    line-height: 55px;
    border-bottom: 1px solid #0000ff;
}
.info_box dl.in dd:last-child {
    height:220px;
    line-height:1.5;
}
@media screen and (max-width: 1180px) {
    .info_box dl.in{
        width:90%;
    }
}
@media screen and (max-width: 1024px) {
    .info_box dl.in{
        width:90%;
    }
    .info_box dl.in dt{
        width:23%;
        margin:0 2% 20px 0;
    }
    .info_box dl.in dd {
        width:74%;
        padding:0 0 0 1%;
    }
}
@media screen and (max-width: 768px) {
    .info_box dl.in dt{
        width:100%;
        margin:10px 2% 10px 0;
    }
    .info_box dl.in dd {
        width:100%;
        padding:0 0 0 1%;
    }
}
@media screen and (max-width: 520px) {
    .info_box dl.in dd:nth-child(4) {
        height: 65px;
        line-height:1.5;
    }
    .info_box dl.in dd:nth-child(6) {
        font-size:2rem;
    }
    .info_box dl.in dd span{
        display:block;
    }
    .info_box dl.in dd:last-child {
        font-size:100%;
        max-height: 300px;
        height:auto;
        padding:10px 0;
        line-height:1.5;
    }
}
@media screen and (max-width: 411px) {
    .info_box dl.in dd:last-child {
        font-size:86%;
    }
}
/**********************************************
 contact css
**********************************************/
#contact{
    width:100%;
    height:970px;
    background-image:url("../img/h2.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top:70px;
}
.form_in{
    width:80%;
    height:auto;
    margin:100px auto 0;
    /*background:#777;
    opacity: 1;*/
}
.toi_form {
	text-align: center;
	margin:0 auto;
	padding:30px 30px 30px 10px;
	/*background:#ccc;*/
	width:50%;
	border-radius:20px;
}
.form-group {
	margin-bottom: 20px;
	text-align: left;
	padding:10px 0;
}
.form-group p{
	font-size:1.2rem;
	padding:5px 0;
}
input,
textarea {
	width: 100%;
	border: 1px solid #ebeced;
	font-size:1rem;
}
input {
	height: 30px;
	padding:5px;
}
textarea {
	height: 200px;
	padding:5px 10px;
}
.error {
	font-size: 12px;
	color: #d84950;
}
.btn-submit {
	background-color: #0000ff;
	color: #fff;
}
.btn {
	padding: 20px 30px;
	font-size: 1.2rem;
	border-radius: 5px;
	border: none;
	margin-top: 20px;
}

@media screen and (max-width: 1024px) {
    #contact{
        height:auto;
        max-height:200vh;
        background-image:url("../img/h2.jpg");
        background-position: right;
        background-size: cover;
        background-repeat: no-repeat;
    }
}
@media screen and (max-width: 912px) {
    .inner{
        width:45%;
    }
    p.con-text{
        font-weight: normal;
    }
    p.in-form a{
        font-size:0.7rem;
        width:30%;
    }
}
@media screen and (max-width: 768px) {
    .toi_form  {
        width:90%;
    }
}

/*********************************************
 FOOTER
*********************************************/
#foot{
    width:100%;
    height:auto;
    padding:50px 0 0;
    background:#000;
}
.f-ue{
    display:block;
    width:90%;
    margin:0 auto;
}
ul.foot-list{
    display:flex;
    width:100%;
    padding:30px 0;
}
ul.foot-list li{
    width:15%;
}
ul.foot-list li a{
    color:#fff;
    font-size:1rem;
    font-weight:bold;
    letter-spacing: 0.1rem;
}
.f-bottom{
    width:100%;
    height:auto;
    overflow:hidden;
    background:#fff;
}
.foot-sub{
    display:flex;
    justify-content:space-between;
    width:80%;
    margin:0 auto 0;
    padding:30px 0;

}
.foot-sub ul li a{
    display:inline-block;
    color:#000;
    padding:10px 0 5px;
}
@media screen and (max-width: 912px) {
    .f-ue{
        width:90%;
    }
    .foot-sub{
        display:flex;
        justify-content:space-between;
        width:90%;
        margin:0 auto 0;
        padding:30px 0;
    
    }
}
@media screen and (max-width: 660px) {
    .f-ue{
        width:96%;
    }
    ul.foot-list li{
        width:25%;
    }
    .foot-sub{
        width:96%;
    }
}
/*************************************************
 Company css
*************************************************/
.page{
    background:#ccc;
}
#video-header{
    position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    height: 200vh;/*高さを全画面にあわせる*/
}
#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}
.tit-area{
    position:absolute;
    width:90%;
    height:18vh;
    top:80px;
    left:0;
    /*background:#ff0;*/
}
.tit-area h1{
    font-size:9rem;
    color:#fff;
    letter-spacing: 1.2rem;
}
.subtit-area{
    position:absolute;
    width:50%;
    height:30vh;
    top:370px;
    left:20%;
    /*background:#0000ff;*/
}
.subtit-area p{
    color:#fff;
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 0.5rem;
}
.clip{
    position: absolute;
    width:100%;
    height:300vh;
    left:0;
    background:#fff;
    clip-path: polygon(100% 0, 100% 38%, 100% 100%, 0 100%, 0 76%);
}
.mirai{
    position:absolute;
    width:100%;
    height:80vh;
    left:0;
    top:80vh;
    display:flex;
}
.imgtype{
    width:50%;
    height:80vh;
}
.imgtype img{
    width:100%;
    padding:0;
}
.comp_txt{
    width:50%;
    position:relative;
    /*background:#ff0;*/
    top:50%;
}
.comp_txt h3{
    padding:30px 10% 30px 15%;
    font-size:2rem;
}
.comp_txt p{
    padding:30px 10% 30px 15%;
}
.vision{
    position:absolute;
    width:100%;
    height:80vh;
    left:0;
    top:170vh;
    display:flex;
}
.middle-title{
    width:40%;
    height:30vh;
    display:block;
    color:#0000ff;
    font-size: 7rem;
    font-weight: bold;
    letter-spacing: 0.5rem;
    text-align:right;
    padding-right:10%;
}
.comp_txt2{
    width:50%;
    position:relative;
    /*background:#ff0;*/
    top:0%;
}
.comp_txt2 h3{
    padding:30px 10% 30px 15%;
    font-size:2rem;
}
.comp_txt2 p{
    padding:30px 10% 30px 15%;
}
.mission{
    position:absolute;
    width:100%;
    height:80vh;
    left:0;
    top:210vh;
    display:flex;
}
.middle-title2{
    width:40%;
    height:30vh;
    display:block;
    color:#0000ff;
    font-size: 7rem;
    font-weight: bold;
    letter-spacing: 0.5rem;
    text-align:center;
    padding-right:0%;
}
.comp_txt3{
    width:50%;
    position:relative;
    top:0%;
    padding-left:10%;
}
.comp_txt3 h3{
    padding:30px 10% 30px 15%;
    font-size:2rem;
}
.comp_txt3 p{
    padding:30px 10% 30px 15%;
}
.value{
    position:absolute;
    width:100%;
    height:80vh;
    left:0;
    top:250vh;
    display:flex;
}
.cont{
    display:block;
    position:relative;
    width:100%;
    height:120vh;
    background:#fff;
}
.comp-info{
    width:90%;
    padding:80px 0 0;

}
.comp-info h3{
    font-size:7rem;
    text-align:right;
    color:#0000ff;
}
.comp-info h4{
    display:block;
    margin:50px 0 0;
    padding:15px 0;
    font-size:3rem;
    text-align:center;
    letter-spacing: 0.4rem;
}
.comp-info .comp-list{
    display:block;
    width:75%;
    padding:10px 0 30px;
    margin:0 auto;
    /*background:#ccc;*/

}
.comp-info .comp-list dl{
    display:flex;
    flex-wrap: wrap;
    width:100%;
    /*background:#ff0;*/
}
.comp-info .comp-list dl dt{
    width:25%;
    /*background:#0000ff;*/
    border-bottom:1px solid #000;
    padding:30px 0;
    font-weight: bold;
}
.comp-info .comp-list dl dd{
    width:70%;
    /*background:#ff0000;*/
    border-bottom:1px solid #000;
    padding:30px 0;
}
/****************************************
 Page-top
*****************************************/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#0000ff;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

#page-top a:hover{
	background: #777;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}
/****************************************
 Product css
*****************************************/
.subtit-area2{
    display:flex;
    position:absolute;
    width:90%;
    height:65vh;
    top:370px;
    left:5%;
    /*background:#0000ff;*/
    z-index:10;
}
.newat{
    width:55%;
}
.subtit-area2 h3{
    color:#0000ff;
    font-size: 2.7rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    margin-bottom:50px;
    text-shadow: 1px 2px 2px rgb(249, 247, 247);
}
.subtit-area2 p{
    color:#fff;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.5rem;
}
.at-inf{
    width:45%;
    position:relative;
}
.at-inf img{
    position: absolute;
    width:70%;
    transform: scale(-1, 1);/*左右反転*/
    right:5%;
    top:0;
}
/****************************************
	privacy.php 
*****************************************/
.pri-img{
    width:100%;
    height:50vh;
    background-image:url("../img/pri-min.jpeg");
	background-size:cover;
	background-position:center;
    background-repeat: no-repeat;
    background-color: #000;
	position:relative;
	z-index:-1;
}
.wrapper-title {
	text-align: center;
	margin:30px;
	position:relative;
	z-index:10;
}
.container02{
    width:80%;
    margin:100px auto 0;
}
.priv{
	width:100%;
	padding:10px 0;
}
.priv p{
	margin-bottom:20px;
	text-indent:1rem;
}
.priv h4{
	padding:5px 0 5px 10px;
	margin-bottom:10px;
	border-left:5px solid #0000ff;
}
ol.prcy li{
	list-style-type:none;
	counter-increment:cnt;
	font-weight:bold;
	font-size:1.1rem;
	margin-bottom:10px;
	margin-left:2rem;
}
ol.prcy li::before{
	content:"("counter(cnt)")";
}
ol.prcy p{
	margin-left:2.5rem;
}
ol.norm li{
	list-style-type:disc;
	margin-left:3rem;
	padding:5px 0;
}
ol.norm li:last-child {
	margin-bottom:5px;
}
ol.nxt_no li{
	list-style-type:circled-decimal;
	margin-left:3rem;
	padding:5px 0;
}

/****************************************
	page1.php 
*****************************************/
.nail-img{
    width:100%;
    height:50vh;
    background-image:url("../img/page1_bg.jpeg");
	background-size:cover;
	background-position:center;
    background-repeat: no-repeat;
    background-color: #000;
	position:relative;
	z-index:-1;
}
.nail-img::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:50vh;
    background:#000;
    opacity: 0.3;

}
#ai-tec{
    width:100%;
    max-height:300vh;
    height:auto;
    margin:100px 0;
}
.single_news{
    width:90%;
    margin:0 auto;
}
.flex_box_news{
    width:100%;
    display:flex;
}
.flex_box_news .text1{
    width:60%;
    background:#fff;
    padding:30px;
    line-height: 1.7;
    letter-spacing: 0.1rem;
}
.flex_box_news .pic1{
    width:40%;
    margin:0 auto;
    text-align: center;
}
.flex_box_news .pic1 img{
    width:40%;
}

/****************************************
	page2.php 
*****************************************/
.assis-img{
    width:100%;
    height:50vh;
    background-image:url("../img/page2_bg.jpg");
	background-size:cover;
	background-position:center;
    background-repeat: no-repeat;
    background-color: #000;
	position:relative;
	z-index:-1;
}
.flex_box_news .text1 .assis{
    width:100%;
    /*background:#d84950;*/
    text-align:center;
}
.flex_box_news .text1 .assis img{
    width:60%;
    padding:0;
}
/****************************************
	page3.php 
*****************************************/
.match-img{
    width:100%;
    height:50vh;
    background-image:url("../img/page3_bg.jpg");
	background-size:cover;
	background-position:center;
    background-repeat: no-repeat;
    background-color: #000;
	position:relative;
	z-index:-1;
}
.match-img::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:50vh;
    background:#000;
    opacity: 0.3;

}
.flex_box_news .pic2{
    width:40%;
    margin:0 auto;
    text-align: center;
}
.flex_box_news .pic2 img{
    width:100%;
}

.school-img{
    width:100%;
    height:50vh;
    background-image:url("../img/page4_bg.jpg");
	background-size:cover;
	background-position:center;
    background-repeat: no-repeat;
    background-color: #000;
	position:relative;
	z-index:-1;
}
.school-img::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:50vh;
    background:#000;
    opacity: 0.3;

}
.secTitle2{
    width:100%;
    margin:0;
    background:#fffafa;
    padding:10px 0 25px;
    text-align:center;
}
.secTitle2 h2 {
    display:block;
    font-size:3rem;
    padding:10px 0;
}

.secTitle2 h2.mm {
display:block;
font-size:2rem;
padding:20px 0;
}

.secTitle2 h2 span{
    display:block;
    font-size:1rem;
    margin:0 auto 15px;
    padding:0 0 0 0;
    max-width:150px;
    border-bottom:10px solid #008000;
}


