@charset "utf-8";

/* ==================================================================
    common.css

=================================================================== */

@font-face {

}

/* =================================
   ■ 共通指定
================================== */

/* --------------------------------
   □ 共通変数の定義
-------------------------------- */
:root {
    --text-color: #000000;
    --link-color-black: #000000;
    --link-color-blue: #0EB7FA;
    --link-color-blue-hover: #36A8D5;
    
    --bg-color-white: #fff;
}


/* =================================
   ■ レイアウト
================================== */
/* --------------------------------
   □ 大枠 
-------------------------------- */
header,
.contents,
footer{
    /* 16px基準 */
}

/* .area → .containerに変更 */
header .container,
.contents main > section,
.contents .chapter,
.contents .wide .container,
footer .container{
    max-width:1000px;
    margin: 0 auto 0 auto;
    text-align: left;
    box-sizing:border-box;
}

.contents section.wide,
.contents .chapter.wide{
    width:100%;
    max-width: inherit;
}

/* --------------------------------
   □ サイト情報 (ヘッダー)
-------------------------------- */
header{ 
    height:auto;
    background: #000;
}

header .wrap{
    position: fixed;
    z-index: 2;
    background: #000;
    max-width: inherit;
    width:100%;
    height: 129px;
    max-height: 129px;
    top: 0;
    left: 0;
}
    
header .container .information{
    display:flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 8px 0 8px 2vw;
    box-sizing: border-box;
}

header .information .logo{
    display:flex;
    flex-grow: 1;
    align-items: center;
    margin: 0;
}

header .information .logo img{
    vertical-align: bottom;
}

header .gsc-control-cse{
    background: transparent;
    border: 0;
    padding: 0;
}
    header .gsc-control-cse table.gsc-search-box td.gsc-input{
        padding: 0;
    }
    header .gsc-control-cse .gsc-input-box{
        position: relative;
        border: 0;
        background: transparent;
    }

    header .gsc-control-cse input.gsc-input {
    }

    header .gsc-control-cse .gsst_b{
        margin: 0;
        padding: 0;
    }

    header .gsc-search-box .gsib_b {
        position: absolute;
        width: 20px;
        top: 8px;
        /* left: 182px; */
        left: 382px;
    }

    header .gsc-control-cse .gsib_a {
        display: flex;
        align-items: center;
        padding: 0 0 0 20px;
        box-sizing: border-box;
        width: 400px;
        height: 40px;
        background: #fff;
        border: 0;
        border-radius: 40px 0 0 40px;
    }

    header .gsc-control-cse .gsc-search-button {
        margin: 0;
        padding: 0;
    }

    header .gsc-control-cse .gsc-search-button-v2,
    header .gsc-control-cse .gsc-search-button-v2:hover,
    header .gsc-control-cse .gsc-search-button-v2:focus {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 0 40px 40px 0;
        background: #fff url("https://2rinkan.jp/common/images/common/header/search.svg") 50% 50% no-repeat;
        cursor: pointer;
    }
    header .gsc-control-cse .gsc-search-button-v2 > *{
        display: none;
    }
    header .contact_btn{
        margin: 0 0 0 20px;
    }
    header .contact_btn a{
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        height: 40px;
        box-sizing:border-box;
        border: 2px solid #4DFA02;
        border-radius: 40px;
        color: #4DFA02;
        text-decoration: none;
        min-width: 200px;
        transition: 0.3s;
    }
    header .contact_btn a:hover{
        background: rgba(255,255,255,0.1);
        letter-spacing: 1px;

    }

header .wrap > nav{
    background: #4DFA00;
}

header .wrap > nav ul.navigation{
    position: relative;
    max-width: 1000px;
    height: 50px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
header .wrap > nav ul.navigation > li{
    position: relative;
    width: calc(100% / 5);
}
header .wrap > nav ul.navigation > li > a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
header .wrap > nav ul.navigation::before,
header .wrap > nav ul.navigation > li::before{
    position: absolute;
    top: 10px;
    left: 0;
    content: "";
    height: 30px;
    width: 1px;
    background: #000;
}

header .wrap > nav ul.navigation::before{
    left: inherit;
    right: 0;
}

header .wrap > nav ul.navigation > li a{
    color: #000;
    text-decoration: none;
}

header .wrap > nav ul.navigation > li ul.inner{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #000;
}
header .wrap > nav ul.navigation > li.active ul.inner{
    display: block;
}
header .wrap > nav ul.navigation > li ul.inner a{
    display: block;
    text-align: center;
    padding: 10px;
    color: #fff;
    /* font-size: 1.4rem; */
}

/* SP以外(PC)
-------------------------------------------- */	
@media screen and (min-width: 768px)  {

    header .wrap > nav ul.navigation > li ul.inner{
        animation-name: animation-fadeIn;
        -webkit-animation-name: animation-fadeIn;

        animation-duration: .3s;
        -webkit-animation-duration: .3s;
        transition: .5s;
    }

}

/* --------------------------------
   □ サイト情報(フッター)
-------------------------------- */
footer{
    clear:both;
    background: #3B3B3B;
    padding-bottom: 18px;
}

    footer .foreign_banner {
        background: #dfdfdf;
        padding: 40px 0;
        overflow: hidden;
    }

    footer .foreign_banner .container{
        max-width:1020px;
    }
    footer .foreign_banner li a{
        transition: .3s;
    }

    footer .foreign_banner li a:hover{
        opacity: 0.7;
    }

    footer .foreign_banner .foreign_list {
        font-size: 0;
        margin: 0 -10px;
        text-align: center;
        overflow: hidden;
        display: flex;
    }

    footer .foreign_banner .foreign_list li {
        display: block;
        margin: 0 1.33333% 20px 0;
        width: 24%;
    }
    footer .foreign_banner .foreign_list li img{
        max-width: 100%;
    }

    footer .foreign_banner .group_list {
        font-size: 0;
        margin: 0 auto;
        text-align: center;
    }

    footer .foreign_banner .group_list li {
        display: inline-block;
        margin: 20px 10px 0;
    }
    footer .foreign_banner .group_list li img{
        max-width: 100%;
    }

    footer .sitemap{
        padding: 37px 0 0 0;
    }
    footer .sitemap .container{
        padding: 0;
    }

    footer .sitemap nav {
        display: flex;
        align-items: stretch;
        justify-content: space-between;

        /* font-size: 1.4rem; */
        margin: 0 210px;
    }
    footer .sitemap nav ul.navigation{
        display: flex;
        flex-wrap: wrap;
        width: 59.68%;
        gap:20px 0;
    }
    footer .sitemap nav ul.navigation > li{
        width: 50%;
    }
    footer .sitemap nav ul.navigation > li a{
        color: #fff;
        text-decoration: none;
    }
    footer .sitemap nav ul.sns{
        display: flex;
        align-items: center;
        gap:0 19px;
    }

    footer * + ul.companyInfo{
        margin-top: 58px;
    }

    footer ul.companyInfo{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    footer ul.companyInfo li{
        position: relative;
        /* font-size: 1.2rem; */
        padding-right: 2em;
    }
    footer ul.companyInfo li::before{
        position: absolute;
        top: 0;
        right: 1em;
        content: "";
        height: 1em;
        width: 1px;
        background: #fff;
    }
    footer ul.companyInfo li:last-child::before{
        display: none;
    }
    footer ul.companyInfo li a{
        color: #fff;
        text-decoration: none;
    }

    footer p.copyright{
        margin: 40px 0 0 0;
        color: #fff;
        font-size: 1.2rem;
        text-align: center;
    }

    /* TOPへ戻る
    -------------------------------- */
    footer p.pagetop{
        display: none;
        position: fixed; 
        z-index: 2;
        right: 0;
        bottom: 0;
        text-align:right;
        margin:8px;
    }

        footer p.pagetop a {
            background: #008000;
            border-radius: 10px;
            color: #fff;
            display: block;
            height: 60px;
            text-align: center;
            text-decoration: none;
            width: 60px;
            transition: .3s;
        }
        footer p.pagetop a:hover {
            opacity: 0.8;
        }

/* --------------------------------
   □ スマートフォン用の記述
-------------------------------- */
body .pc{
    display:block;
}
body .sp,
span.textized,
br.spOnly{
    display:none;
}

a.phone.noanchor{
    text-decoration:none;
    cursor:default;
}

/* SP以外(PC)
-------------------------------------------- */	
@media screen and (min-width: 768px)  {


}

/* タブレット用
-------------------------------------------- */
@media (max-width: 999px) and 
(min-width: 768px) {


}

/* SP用
-------------------------------------------- */
@media only screen and
(max-width : 767px) {

/* =================================
   ■ 共通指定
================================== */

body {
    transform: none !important;
    min-width: auto;
}

img{
    max-width:100%;
    height:auto;
}

body .pc{
    display:none;
}
body .sp{
    display:block;
}

span.textized{
    display:inline;
}

br.spOnly{
    display:inline-block;
}

br.pcOnly{
    display:none;
}

.txtimg{
    display:none;
}

input, select{
    font-size:16px;
}

/* --------------------------------
   □ 大枠 
-------------------------------- */
header .container{
    font-size:100%;
    width:auto;
    
}
.contents main > section,
.contents .chapter,
.contents .wide .container,
footer .container{
    font-size:100%;
    width:auto;
    margin-left: 2vw;
    margin-right: 2vw;
}

.contents section.wide,
.contents .chapter.wide{
    width:auto;
}

/* --------------------------------
   □ サイト情報 (ヘッダー)
-------------------------------- */
header{
    position:relative;
    height:auto;
}

header .wrap{
    position: fixed;
    z-index: 2;
    background: #000;
    max-width: inherit;
    width:100%;
    height: 58px;
    padding: 4px 0;
    top: 0;
    left: 0;
}
    
header .container .information{
    display:flex;
    width: 100%;
    height: 100%;
    padding: 0 0 0 2vw;
    box-sizing: border-box;
}

header .information .logo{
    display:flex;
    flex-grow: 1;
    align-items: center;
    margin: 0;
}

header .information .logo img{
    height: 48px;
}

header .information .contact_btn a {
    display: flex;
    /* font-size: 1.4rem; */
    height: 32px;
    padding: 4px 20px;
    min-width: 20vw;
}
    
header .information .menu{
    display: flex;
    align-items: center;
    justify-content: center;
    width:48px;
    text-align: center;
}
    header .information .menu > p{
        position:relative;
        z-index: 6;
        display:inline-block;
        width : 42px;
        height: 42px;
        margin: 0;
        text-align: center;
        cursor: pointer;
        transition: all .7s ease;
    }

        header .information .menu > p > span {
            display : block;
            position: absolute;
            left: 6px;
            width   : 30px;
            height  : 2px ;
            background : #fff;
            -webkit-transition: 0.5s ease-in-out;
            -moz-transition   : 0.5s ease-in-out;
            transition        : 0.5s ease-in-out;
        }
    
            header .information .menu > p > span:nth-child(1) {
                top: 10px;
            }
            header .information .menu > p > span:nth-child(2) {
                top: 20px;
            }
            header .information .menu > p > span:nth-child(3) {
                top: 30px;
            }

            /* ナビ開いてる時のボタン */
            header .information .menu.open > p span {
                background: #fff;
            }
    
            header .information .menu.open > p span:nth-child(1) {
                top : 19px;
                -webkit-transform: rotate(315deg);
                -moz-transform   : rotate(315deg);
                transform        : rotate(315deg);
            }

            header .information .menu.open > p span:nth-child(2),
            header .information .menu.open > p span:nth-child(3) {
                top: 19px;
                -webkit-transform: rotate(-315deg);
                -moz-transform   : rotate(-315deg);
                transform        : rotate(-315deg);
            }

    header .gsc-control-cse .gsc-search-button {
        margin-left: -1px;
        margin-top: 1px;
    }
    
header .gsc-control-cse .gsib_a {
    width: calc(92vw - 40px);
    height: 40px;
}
    
    
header #globalNavigation{
    position: fixed;
    top  : 0;
    left : 0;
    z-index : -1;
    
    display: block;
    
    color: #fff;
    background: rgba(0,0,0,0.9);
    text-align: center;
    width: 100%;
    height: 100svh;
    opacity: 0;
    visibility: hidden;
    transition: .6s ease;
    pointer-events: none;
    border: 1px solid #000;
}
    
header #globalNavigation::-webkit-scrollbar{
   width: 6px;
}
header #globalNavigation::-webkit-scrollbar-track{
   background-color: #000;
}
header #globalNavigation::-webkit-scrollbar-thumb{
   background-color: #ccc;
}
    
header #globalNavigation .naviwrap{
    width: 100%;
    height: 100%;
    padding-top: 60px;
    padding-bottom: 60px;
    box-sizing: border-box;
    overflow-x: auto;
    -webkit-overflow-scrolling:touch;
}
    
    
    header #globalNavigation a{
        pointer-events: none;
    }
    
    header #globalNavigation .google_search_window{
        width: 92vw;
        margin: 0 auto;
    }
    
    header #globalNavigation .gsc-search-box .gsib_b {
        left: 78vw;
    }
    
    header #globalNavigation ul.navigation {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: center;
        gap : 8px 0;
        height: auto;
    }
    header #globalNavigation ul.navigation li{
        display:block;
        width: 92vw;
        box-sizing: border-box;
        margin-top: 12px;
    }
    
    header #globalNavigation ul.navigation > li > a{
        position: relative;
        display:block;
        padding:10px;
        text-align:center;
        border: 1px solid #4DFA02;
        color: #4DFA02;
        box-sizing: border-box;
        border-radius: 40px;
        text-decoration: none;
    }

        header #globalNavigation ul.navigation > li > a.accordion::before{
            content: "▼";
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 4%;
            transition: .5s;
        }
        header #globalNavigation ul.navigation > li > a.accordion.open::before{
            transform: translateY(-50%) scale(1, -1);
        }

    header .wrap > nav ul.navigation > li ul.inner{
        position: static;
        width: 100%;
        background: transparent;
        transition: .5s;
    }
    header .wrap > nav ul.navigation > li.active ul.inner{
        display: block;
    }
    header .wrap > nav ul.navigation > li ul.inner a{
        display: block;
        text-align: center;
        padding: 10px;
        color: #fff;
        /* font-size: 1.4rem; */
    }


header #globalNavigation.open {
    opacity: 100;
    visibility:visible;
    z-index : 2;
    pointer-events:visible;
}
header #globalNavigation.open a{
    pointer-events:visible;
}

/* --------------------------------
   □ サイト情報(フッター)
-------------------------------- */
footer{
}


    footer .foreign_banner {
        padding: 30px 0;

    }

    footer .foreign_banner .foreign_list {
        margin: 0 0px;
        flex-wrap: wrap;
        gap: 0 2%;
    }

    footer .foreign_banner .foreign_list li {
        margin: 0 0 20px;
        width: 49%;
    }

    footer .foreign_banner .group_list li {
        margin: 10px 0 0 0;
        width: 49%;
    }

    footer .sitemap{
        padding: 37px 0 0 0;
    }
    footer .sitemap .container{
        padding: 0;
    }

    footer .sitemap nav {
        display: block;
        margin: 0;
        text-align: center;
    }
    
    footer .sitemap nav .logo{
        text-align: center;
        margin-bottom: 20px;
    }
    
    footer .sitemap nav ul.navigation{
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        width: 100%;
        gap:20px 0;
    }
    footer .sitemap nav ul.navigation > li{
        width: auto;
    }

    footer .sitemap nav ul.sns{
        justify-content: center;
        align-items: center;
    }

    footer * + ul.companyInfo{
        margin-top: 28px;
    }

    footer ul.companyInfo{
        display: block;
        align-items: center;
        justify-content: center;
    }
    footer ul.companyInfo li{
        font-size: 1.2rem;
        padding-right:0;
        text-align: center;
    }
    footer ul.companyInfo li + li{
        margin-top: 1em;
    }
    footer ul.companyInfo li::before{
        display: none
    }

    footer p.copyright{
        margin: 30px 0 0 0;
        color: #fff;
        font-size: 0.8rem;
        text-align: center;
    }
    

/* TOPへ戻る
-------------------------------- */
footer p.pagetop{
    width: 14vw;
}
    footer p.pagetop img{
        width: 100%;
    }

}


