@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://use.typekit.net/hlt7lng.css');
/*=============================================
===============================================
=============== jsp-common.css ================
===============================================
===============================================
LastUpDate:18.05.24
=============================================*/



/*CommonStyle***************************************************************************************/

/*Reset*/
html, body, div, span, 
h1, h2, h3, h4, h5, h6, p, 
dl, dt, dd, ol, ul, li {
margin: 0;
padding: 0;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}

ol, ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}


/**============================================================================================**/


/*display*/
.dis-blk{display:block;}
.dis-ilblk{display:inline-block;}
.dis-non{display:none;}
.dis-tbl,
.dis-tbl01,
.dis-tbl02,
.dis-tbl03,
.dis-tbl04,
.dis-tbl05{display:table;}
.dis-tbl_tab,
.dis-tbl_tab01,
.dis-tbl_tab02,
.dis-tbl_tab03,
.dis-tbl_tab04,
.dis-tbl_tab05{display:table; table-layout: fixed;}
.dis-tblcl,
.dis-tblcl01,
.dis-tblcl02,
.dis-tblcl03,
.dis-tblcl04,
.dis-tblcl05{display:table-cell;}
.dis-tblcm{display:table-column;}


/*position*/
.posi-abs{position:absolute;}
.posi-fix{position:fixed;}
.posi-rlt{position:relative;}


/*float*/
.rf{float:right;}
.lf{float:left;}


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

.cl{clear:both;}
.clb{clear:both; visibility:hidden; margin:0; padding:0;}


/*margin*/
.m-0{margin:0;}
.m-0a{margin:0 auto;}

.m-5{margin:5px;}
.m-15{margin:15px;}
.m-10{margin:10px;}
.m-20{margin:20px;}

.m-tb5{margin:5px 0;}
.m-tb10{margin:10px 0;}
.m-tb15{margin:15px 0;}
.m-tb20{margin:20px 0;}
.m-tb30{margin:30px 0;}

.m-t5{margin:5px 0 0 0;}
.m-t10{margin:10px 0 0 0;}
.m-t15{margin:15px 0 0 0;}
.m-t20{margin:20px 0 0 0;}
.m-t25{margin:25px 0 0 0;}
.m-t30{margin:30px 0 0 0;}
.m-t35{margin:35px 0 0 0;}
.m-t40{margin:40px 0 0 0;}
.m-t45{margin:45px 0 0 0;}
.m-t50{margin:50px 0 0 0;}
.m-t55{margin:55px 0 0 0;}
.m-t60{margin:60px 0 0 0;}

.m-b5{margin:0 0 5px 0;}
.m-b10{margin:0 0 10px 0;}
.m-b15{margin:0 0 15px 0;}
.m-b20{margin:0 0 20px 0;}
.m-b25{margin:0 0 25px 0;}
.m-b30{margin:0 0 30px 0;}
.m-b35{margin:0 0 35px 0;}
.m-b40{margin:0 0 40px 0;}
.m-b45{margin:0 0 45px 0;}
.m-b50{margin:0 0 50px 0;}
.m-b55{margin:0 0 55px 0;}
.m-b60{margin:0 0 60px 0;}


/*padding*/
.p_0{padding:0;}

.p_5{padding:5px;}
.p_10{padding:10px;}
.p_15{padding:15px;}
.p_20{padding:20px;}
.p_25{padding:25px;}
.p_30{padding:30px;}


/*color*/
.red{color:#FF0004;}
.orange{color:#FF670E;}
.yellow{color:#ffe207;}
.green{color:#13AD0D;}
.teal{color:#20c997;}
.cyan{color:#31d5f9;}
.blue{color:#0074FF;}
.navy{color:#101c7c;}
.purple{color:#AF65E7;}
.pink{color:#FC8FE0;}
.dark{color:#606060;}
.gray{color:#adadad;}
.light{color:#e0e0e0;}
.black{color:#000;}
.white{color:#fff;}



/*font*/
.fw_b{font-weight:bold;}

.fs_08{font-size:0.8em;}
.fs_09{font-size:0.9em;}
.fs_10{font-size:1.0em;}
.fs_11{font-size:1.1em;}
.fs_12{font-size:1.2em;}
.fs_13{font-size:1.3em;}
.fs_14{font-size:1.4em;}
.fs_15{font-size:1.5em;}
.fs_16{font-size:1.6em;}
.fs_17{font-size:1.7em;}
.fs_18{font-size:1.8em;}
.fs_19{font-size:1.9em;}
.fs_20{font-size:2.0em;}
.fs_23{font-size:2.3em;}
.fs_25{font-size:2.5em;}
.fs_27{font-size:2.7em;}
.fs_30{font-size:3.0em;}
.fs_35{font-size:3.5em;}
.fs_40{font-size:4.0em;}


/*text*/
.ta_l {text-align:left;}
.ta_c {text-align:center;}
.ta_r {text-align:right;}

.txd_unl{text-decoration:underline;}
.txd_non{text-decoration:none;}
.txd_ovl{text-decoration:overline;}


/*align*/
.vat{vertical-align:top;}
.vam{vertical-align:middle;}
.vab{vertical-align:bottom;}

/**============================================================================================**/

/**============================================================================================**/
body {
	font-size: 16px; font-weight: 500; line-height: 1.6em;
	font-family: "proxima-nova",  "Noto Sans JP", sans-serif;
	font-style: normal;}
    
a {
    color: #000; text-decoration: underline;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;}
	
a:hover { color: #3dbbb8;}

img { 
    width: auto; height: auto; max-width: 100%; max-height: 100%; vertical-align: middle;
    opacity: 1;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;}

a:hover img { 
    opacity: 0.5;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;}

/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge { display: none;}

/**============================================================================================**/

/**============================================================================================**/
/* header.php */
header { 
    position: absolute; top: 0; left: 0; z-index: 2;
    box-sizing: border-box; width: 100%; padding: 0 20px; 
    background: #000;}

header .flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    width: 100%; height: 100px; max-width: 1200px; margin: 0 auto;}

/* グローバルメニュー */
#nav-area ul { font-size: 0; text-align: right;}
#nav-area li,
#nav-area .news,
#nav-area .form { 
    display: inline-block; position: relative; 
    height: 31px; margin: 15px 0 0 40px;
    font-size: 16px; font-weight: 400; line-height: 1.0em;
    vertical-align: top;}

/* リンク（親要素） */
#nav-area li a { color: #fff; text-decoration: none;}
#nav-area li a:hover { color: #3dbbb8; text-decoration: none;}

#nav-area li strong { 
    display: inline-block;
    color: #fff; font-size: 16px; font-weight: 700; vertical-align: top;
    cursor: pointer;}

/* リンク（News・Contact） */
#nav-area .news,
#nav-area .form { margin-top: 0; font-weight: 700;}

/* 外部リンクアイコン（News） */
#nav-area .news span { display: inline-block; position: relative; padding-right: 18px;}
#nav-area .news span::after {
    content: '';
    display: block; position: absolute; top: 50%; right: 0;
    width: 12px; height: 12px;
    background: url("../images/2026/outlink_wh.webp");
    transform: translateY(-50%);
	-webkit-transition: all 0.5s;
	transition: all 0.5s;}

#nav-area .news span:hover::after { background: url("../images/2026/outlink_on.webp");}


/* オンマウスで子要素を展開 */
#nav-area li .posi-rlt div {    
    position: absolute; top: 40px; left: 50%; overflow: hidden; 
    width: 160px; max-height: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    transform: translateX(-50%);}

#nav-area li .posi-rlt:hover div { max-height: 300px;}

/* Support */
#nav-area li.support .posi-rlt { display: inline-block; height: 31px;}

#nav-area li div a { 
	display: block; 
    padding: 15px 0;
	border-bottom: solid 1px #fff; background: #333;
	font-size: 14px; text-align: center; }


@media screen and (max-width:899px){
    /* グローバルメニュー・リンク（News・Contact） */
    #nav-area li,
    #nav-area .news,
    #nav-area .form { margin-left: 20px;}
}

@media screen and (max-width:799px){

    header .flex { height: 70px;}

    /* グローバルメニュー */
    #nav-area ul { text-align: left;}
    #nav-area ul::after { content: ""; display: block; clear:both;}
    
    #nav-area li { display: block; height: auto; margin: 0;}

    /* 下矢印アイコン
    #nav-area li:has(div)::after {
    content: '';
    display: inline-block; position: absolute; top: 12px; right: 15px;
    width: 10px; height: 10px;
    border: solid #3dbbb8; border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);}
     */
    
    #nav-area li:has(div)::after { display: none;}
    
    /* リンク（親要素） */
    #nav-area li strong { 
        display: block;
        height: auto; padding: 12px 10px;
        border-top: solid 1px #fff;
        font-size: 20px;}

    /* オンマウスで子要素を展開 */
    #nav-area li .posi-rlt div {    
        position: static; overflow: visible; 
        width: auto; max-height: none;
        transform: translateX(0%);}

    /* リンク(News・Contact) */
    #nav-area .news,
    #nav-area .form { 
        display: block; float: left;
        box-sizing: border-box; width: 50%; height: auto; margin: 0; padding: 30px 10px 0;
        border-top: solid 1px #fff;}
        
    #nav-area .news a,
    #nav-area .form a { 
        display: block;
        padding: 0 10px 20px;
        border: solid 1px #fff;
        text-align: center;}
        
    #nav-area .news a:hover,
    #nav-area .form a:hover { background: #3dbbb8; color: #fff;}
        
    #nav-area .news a::before,
    #nav-area .form a::before { 
        content: '';
        display: block;
        width: 35px; height: 56px; margin: 0 auto;}
        
    #nav-area .news a::before { background: url("../images/2026/news_wh.webp") no-repeat; background-position: center center;}
    #nav-area .form a::before { background: url("../images/2026/mail_wh.webp") no-repeat; background-position: center center;}

    /* オンマウスで子要素を展開 */
    #nav-area li div {    
        position: static; overflow: visible; 
        width: auto; max-height: none; padding: 5px 0 10px;
        border-top: solid 1px #3dbbb8;
        transform: translateX(0%);}

    #nav-area li div a { 
        padding: 10px;
        border: none; background: none;
        font-size: 16px; text-align: left;}
}

/**========================================**/
/* javascriptを使用したハンバーガーボタン */
#nav-btn,
#nav-bg {display: none;}

@media screen and (max-width:799px){
    /* ハンバーガーボタン */
    #nav-btn {
        display: block; position: absolute; top: 50%; right: 0;
        width: 25px; height: 20px;
        cursor: pointer; 
        transform: translateY(-50%);
        transition: all 0.4s;}

    #nav-btn:hover { opacity: 0.7;} 

    #nav-btn::before,
    #nav-btn::after,
    #nav-btn span {
        content: '';
        display: block; position: absolute; left: 0;
        width: 25px; height: 3px;
        background: #fff;}

    #nav-btn::before { top: 0px;}
    #nav-btn::after { bottom: 0px;}
    #nav-btn span {
            top: 50%;
            margin: -2px 0 0;}

    /* グローバルメニュー表示エリア */
    #nav-bg {
        display: block; position: fixed; top: 0; left: 0; z-index: 20000;
        width: 0vw; height: 100vh; margin: 0;
        background: rgba(0, 0, 0, 0.5);
        cursor: pointer;
        transition: background 0.8s; }

    #nav-bg.slide-in { width: 100vw;}

    #nav-area {
        position: fixed; top: 0; left: auto; right: 0; z-index: 20002;
        box-sizing: border-box; width: 300px; height: 100vh; padding: 80px 10px 20px 20px;
        background: #000;
        transform: translateX(100%); transition: 0.8s; }


    #nav-area.slide-in {
        transform: translateX(0);
        transition: 0.8s; }

    /* スクロールバー */
    #nav-area nav { overflow-y: scroll; height: 100%; padding: 0 10px 0 0;}

    /* スクロールバーの装飾 */
    #nav-area nav::-webkit-scrollbar {width: 5px;}
    #nav-area nav::-webkit-scrollbar-track {background-color: #333;}
    #nav-area nav::-webkit-scrollbar-thumb {background-color: #3dbbb8;}

    /* 閉じるボタン */
    #nav-btn_cl {
        display: block; position: absolute; top: 20px; right: 20px; z-index: 10003;
        width: 25px; height: 25px;}

    #nav-btn_cl::before,
    #nav-btn_cl::after {
        content: '';
        display: block; position: absolute; top: 50%; left: 50%;
        width: 30px; height: 4px;
        background: #fff;}


    #nav-btn_cl::before {
        transform: translateX(-50%) translateY(-50%) rotate(45deg);
        -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); }

    #nav-btn_cl::after {
        transform: translateX(-50%) translateY(-50%) rotate(-45deg);
        -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
}

@media screen and (max-width:599px){
    #nav-area { width: 100%;}
}

/**============================================================================================**/

/**============================================================================================**/
/* footer.php */
footer { padding: 100px 0 0; background: #000; color: #fff; line-height: 1.0em;}

/* ロゴ・SNS */
footer .m-0a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    box-sizing: border-box; width: 100%; max-width: 1200px; height: 40px; padding: 0 20px;}

footer .sns { font-size: 0;}
footer .sns a { display: inline-block; margin-left: 20px; vertical-align: middle;}

footer hr { margin: 15px 50px 0; border: solid #fff; border-width: 1px 0 0;}

@media screen and (max-width:1299px){
    footer hr { margin: 15px 20px 0;}
}

@media screen and (max-width:799px){
    footer { padding-top: 30px;}
    footer hr { margin: 15px 0 0;}
}


/* サイトマップ */
footer .link ul { 
    display: table; position: relative;
    width: 100%; max-width: 1270px; margin: 40px auto;}

footer .link ul::after { content: ""; display: block; clear:both;}

footer .link li { 
    display: table-cell;
    box-sizing: border-box; width: 33.33%; padding: 0 35px; vertical-align: top;}

footer .link li:nth-child(1) { display: block; position: absolute; top: 0; left: 0;}
footer .link li:nth-child(2) { padding-top: 46px; }

footer .link strong {
    display: block;
    padding: 10px; border-bottom: solid 1px #3dbbb8;
    color: #3dbbb8; font-size: 20px; font-weight: 700; }

footer .link strong a { color: #3dbbb8;}
footer .link strong a:hover { color: #fff;}

footer .link a { color: #fff; text-decoration: none;}
footer .link a:hover { color: #3dbbb8; text-decoration: none;}

footer .link div p { margin: 5px 0 0; padding: 10px;}

@media screen and (max-width:1269px){
    footer .link ul { max-width: 1240px;}
    footer .link li { padding: 0 20px;}
}

@media screen and (max-width:799px){
    footer .link ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;}
    
    footer .link li { display: block; width: 50%;}
}

@media screen and (max-width:499px){
    footer .link li { width: 100%;}
    footer .link strong {
        padding: 12px 10px;
        border-top: solid 1px #fff;}
        
    footer .link li:nth-child(1) strong { border: none;}
    
    footer .link strong a { color: #fff;}
    footer .link strong a:hover { color: #3dbbb8;}
    
    footer .link div { padding: 0 0 5px;}    
}


/* 外部リンクアイコン（News） */
footer .news span { display: inline-block; position: relative; padding-right: 18px;}
footer .news span::after {
    content: '';
    display: block; position: absolute; top: 50%; right: 0;
    width: 12px; height: 12px;
    background: url("../images/2026/outlink_wh.webp");
    transform: translateY(-50%);
	-webkit-transition: all 0.5s;
	transition: all 0.5s;}


/* リンク(News・Contact) */
footer .news,
footer .form { 
        display: block; float: left;
        box-sizing: border-box; width: 50%; height: auto; margin: 0; padding: 45px 10px 0;}
        
footer .news a,
footer .form a { 
        display: block;
        padding: 0 10px 20px;
        border: solid 1px #fff;
        text-align: center;}
        
footer .news a:hover,
footer .form a:hover { background: #3dbbb8; color: #fff;}
        
footer .news a::before,
footer .form a::before { 
        content: '';
        display: block;
        width: 35px; height: 56px; margin: 0 auto;}
        
footer .news a::before { background: url("../images/2026/news_wh.webp") no-repeat; background-position: center center;}
footer .form a::before { background: url("../images/2026/mail_wh.webp") no-repeat; background-position: center center;}

@media screen and (max-width:499px){
    footer .news,
    footer .form { padding-top: 30px; border-top: solid 1px #fff;}
}

/* copyright */
footer .copyright { 
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: 70px;
    border: solid #fff; border-width: 1px 0 0;
    font-size: 16px;
    font-family: "メイリオ";}


/* LastUp2026.01.29_kimata */