@charset "UTF-8";

/*
theme Name: AGASUS_2023
Author: JIA
Description: AGASUS_2023 template
*/


/* スタイルリセット
---------------------------------------*/
button,
hr,
input
{
    overflow: visible
}


address,
blockquote,
body,
dl,
fieldset,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
iframe,
ol,
p,
pre,
table,
ul
{
    margin: 0
}


a,
hr,
legend
{
    color: inherit
}

/*親要素のスタイルを継承*/


progress,
sub,
sup
{
    vertical-align: baseline
}


fieldset,
legend,
ol,
option,
td,
th,
ul
{
    padding: 0
}


caption,
th
{
    text-align: left
}

*,
::after,
::before
{
    box-sizing: border-box;
    /*要素の幅と高さに「paddingとborderを含めるかどうか」を指定*/
    border-style: solid;
    border-width: 0
}


html
{
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    outline-color: -webkit-focus-ring-color
}


details,
main
{
    display: block
}


h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit
}


ul
{
    list-style: none
}


dt
{
    font-weight: 700
}


dd
{
    margin-left: 0
}


hr
{
    box-sizing: content-box;
    height: 0;
    border-top-width: 1px;
    clear: both
}


code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    font-size: inherit
}


address
{
    font-style: inherit
}


a
{
    background-color: transparent;
    text-decoration: none
}


abbr[title]
{
    text-decoration: underline;
    text-decoration: underline dotted
}


b,
strong
{
    font-weight: bolder
}


small
{
    font-size: 80%
}


sub,
sup
{
    font-size: 75%;
    line-height: 0;
    position: relative
}


sub
{
    bottom: -.25em
}


sup
{
    top: -.5em
}


embed,
iframe,
img,
object
{
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea
{
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: 0 0;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit
}

[type=checkbox]
{
    -webkit-appearance: checkbox;
    appearance: checkbox
}

[type=radio]
{
    -webkit-appearance: radio;
    appearance: radio
}


button,
select
{
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button
{
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled]
{
    cursor: default
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner
{
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring
{
    outline: ButtonText dotted 1px
}


select::-ms-expand
{
    display: none
}


fieldset
{
    min-width: 0
}


legend
{
    display: table;
    max-width: 100%;
    white-space: normal
}


textarea
{
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button
{
    height: auto
}

[type=search]
{
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration
{
    -webkit-appearance: none
}

::-webkit-file-upload-button
{
    -webkit-appearance: button;
    font: inherit
}


label[for]
{
    cursor: pointer
}


summary
{
    display: list-item
}

[contenteditable]
{
    outline: 0
}


table
{
    border-collapse: collapse;
    border-spacing: 0
}


td,
th
{
    vertical-align: top
}


th
{
    font-weight: 700
}

[hidden],
template
{
    display: none
}

/*スマホ画像長押し保存禁止*/
img
{
    /* SPの長押し禁止 */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    user-select: none;
}



/* 全体スタイル
---------------------------------------*/
@font-face
{
    font-family: 'Go-normal';
    font-weight: 400;
    src: url("font/NotoSansJP-Regular.otf");
}

@font-face
{
    font-family: 'Go-bold';
    font-weight: 700;
    src: url("font/NotoSansJP-Bold.otf");
}


html
{
    scroll-behavior: smooth;
    /*ページ内リンクをクリックしたときに、ページがキレイにスクロールしながら移動する*/
    overflow-x: hidden;
    font-size: 62.5%;
    /*pxだと10px;*/
}

@media screen and (min-width: 901px) and (max-width: 1100px)
{

    /*画面サイズが901pxから1100pxまではここを読み込む*/
    html
    {
        font-size: 56.7%;
    }
}

@media screen and (min-width:900px) and (max-width:501px)
{

    /*画面サイズが900pxから501pxまではここを読み込む*/
    html
    {
        font-size: 65%;
    }
}

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

    /*画面サイズが500px以下はここを読み込む*/
    html
    {
        font-size: 62.5%;
    }
}

body
{
    width: 100%;
    height: auto;
    color: #1F1F1F;
    font-size: 1.7rem;
    font-weight: 200;
    letter-spacing: 0.1em;
    line-height: 1.5;
    /*font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';*/
    font-family: 'Go-normal';
    position: relative;
    margin: 0;
    padding: 0;
}

img
{
    max-width: 100%;
    height: auto;
}

a
{
    display: block;
    color: #1F1F1F;
    text-decoration-line: none;
}

a:hover
{
    opacity: 0.8;
}

a img:hover
{
    opacity: 0.8;
}

.underline
{
    border-bottom: 3px solid #1F1F1F;
    padding-bottom: 1rem;
}

.pc-none
{
    display: none;
}

.sp-none
{
    display: block;
}

@media screen and (max-width: 780px)
{
    body
    {
        font-size: 1.4rem;
    }

    .pc-none
    {
        display: block;
    }

    .sp-none
    {
        display: none;
    }
}

.clear
{
    clear: both;
}

/*ヘッダー
-------------------------------------*/
header
{
    position: fixed;
    width: 100%;
    z-index: 200;
}

.header-inner
{
    width: 95%;
    height: 80px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header h1 img
{
    height: 30px;
}

/*メインナビゲーション*/
nav ul
{
    display: flex;
    justify-content: center;
}

nav li
{
    white-space: nowrap;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
}

nav li a
{
    display: block;
    width: 100%;
    height: 40px;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    font-family: 'Go-normal';
    line-height: 40px;
    text-decoration: none;
    text-align: center;
}

.header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}

.header-nav li .current
{
    color: #0071BE;
}

@media screen and (max-width: 780px)
{
    .header-nav li a.current
    {
        color: #fff;
    }

    .header-nav li a:hover
    {
        color: #fff;
    }
}



@media screen and (min-width: 781px)
{

    /* PC時はMENUボタンを非表示 */
    .toggle_btn
    {
        display: none !important;
    }

    #navi
    {
        display: block !important;
    }

    .contact-area
    {
        display: block !important;
    }

    .logo-sp
    {
        display: none !important;
    }

    .contact-area-sp
    {
        display: none !important;
    }
}



@media screen and (max-width: 780px)
{
    header
    {
        height: 60px;
    }

    .header-inner
    {
        height: 60px;
    }

    header h1 img
    {
        width: 140px;
    }

    .logo-sp
    {
        width: 95%;
        margin: 20px auto;
        height: 60px;
        align-items: center;
    }

    .logo-sp img
    {
        width: 140px;
    }

    nav
    {
        display: block;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: #0071BE;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: all .5s;
        z-index: 200;
        opacity: 0;
    }

    .open nav
    {
        right: 0;
        opacity: 1;
    }

    nav .inner
    {
        width: 70%;
        margin: 10rem auto 0 auto;
    }

    nav .inner ul
    {
        display: block;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    nav .inner ul li
    {
        position: relative;
        padding: 0;
        margin: 0;
        text-align: center;
    }

    nav .inner ul li a
    {
        display: block;
        color: #fff;
        height: auto;
        font-size: 1.6rem;
        font-family: 'Go-bold';
        padding: 1em 0;
        text-decoration: none;
        transition-duration: 0.2s;
        text-align: center;
        animation-name: fadein;
        animation-duration: 1.8s;
        animation-timing-function: ease-out;
    }

    nav .inner ul li a.wh-bk
    {
        background-color: #fff;
        color: #0071BE;
        margin: 15px 0;
    }

    nav .inner ul li a.fade01
    {
        animation-delay: 0;
    }

    nav .inner ul li a.fade02
    {
        animation-delay: 0.2s;
    }

    nav .inner ul li a.fade03
    {
        animation-delay: 0.4s;
    }

    nav .inner ul li a.fade04
    {
        animation-delay: 0.6s;
    }

    nav .inner ul li a.fade05
    {
        animation-delay: 0.8s;
    }


    nav .inner ul li a:hover
    {
        opacity: 1;
    }

    @keyframes fadein
    {
        0%
        {
            opacity: 0;
            transform: translateX(100px);
        }

        100%
        {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @media screen and (max-width: 400px)
    {
        nav .inner
        {
            margin: 5rem auto 0 auto;
        }
    }

    @media screen and (max-width: 350px)
    {
        nav .inner
        {
            margin: 0 auto;
        }

        @media screen and (max-width: 780px)
        {
            nav .inner ul li a
            {
                padding: 0.7em 0;
            }
        }
    }

    /*ハンバーガーボタン*/
    .toggle_btn
    {
        display: block;
        position: fixed;
        top: 15px;
        right: 20px;
        width: 30px;
        height: 30px;
        transition: all .5s;
        cursor: pointer;
        z-index: 3;
    }

    .toggle_btn span
    {
        display: block;
        position: absolute;
        left: 0;
        width: 30px;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
        transition: all .5s;
    }

    .toggle_btn span:nth-child(1)
    {
        top: 4px;
    }

    .toggle_btn span:nth-child(2)
    {
        top: 14px;
    }

    .toggle_btn span:nth-child(3)
    {
        bottom: 4px;
    }

    .open .toggle_btn
    {
        z-index: 300;
    }

    .open .toggle_btn span
    {
        background-color: #fff;
    }

    .open .toggle_btn span:nth-child(1)
    {
        -webkit-transform: translateY(10px) rotate(-315deg);
        transform: translateY(10px) rotate(-315deg);
    }

    .open .toggle_btn span:nth-child(2)
    {
        opacity: 0;
    }

    .open .toggle_btn span:nth-child(3)
    {
        -webkit-transform: translateY(-10px) rotate(315deg);
        transform: translateY(-10px) rotate(315deg);
    }


    #mask
    {
        display: none;
        transition: all .5s;
    }

    .open #mask
    {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .8;
        z-index: 2;
        cursor: pointer;
    }

}

@media screen and (max-width: 500px)
{
    header h1
    {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        width: 200px;
    }

}


/*背景色によってヘッダーの色を変える
-------------------------------------*/
.none_header
{
    display: none;
}

.header_b
{
    background: #fff;
}

.header_b .toggle_btn span
{
    background-color: #1F1F1F;
}

.header_f .toggle_btn span
{
    background-color: #fff;
}

.header_clear .toggle_btn span
{
    background-color: #fff;
}

.header_f
{
    background: #1F1F1F;
}

.header_b .header-nav li a
{
    color: #1F1F1F;
}

.header_f .header-nav li a
{
    color: #fff;
}

.header_clear
{
    background-color: none;
}

.header_clear .header-nav li a
{
    color: #fff;
}

.header_g
{
    background-color: #F4F4F4;
}

.header_g .header-nav li a
{
    color: #1F1F1F;
}

.header_g .toggle_btn span
{
    background-color: #1F1F1F;
}

.header_b .header-nav li .current
{
    color: #0071BE;
}

.header_f .header-nav li .current
{
    color: #0071BE;
}

.header_g .header-nav li .current
{
    color: #0071BE;
}

.header_clear .header-nav li .current
{
    color: #0071BE;
}

.header_b .header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}

.header_f .header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}

.header_g .header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}

.header_b .header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}

.header_clear .header-nav li a:hover
{
    color: #0071BE;
    opacity: 1;
}



@media screen and (max-width: 780px)
{
    .header_b .header-nav li a
    {
        color: #fff;
    }

    .header_b .header-nav li .current
    {
        color: #fff;
    }

    .header_f .header-nav li .current
    {
        color: #fff;
    }

    .header_g .header-nav li .current
    {
        color: #fff;
    }

    .header_clear .header-nav li .current
    {
        color: #fff;
    }

    .header_g .header-nav li a
    {
        color: #fff;
    }

    .open .toggle_btn span
    {
        background-color: #fff;
    }

}


/*コンテナ
-------------------------------------*/
.container
{
    max-width: 960px;
    width: 85%;
    margin: 0 auto;
}

.container-full
{
    width: 100%;
}

.row
{
    display: flex;
}

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

/*共通
-------------------------------------*/

/*黒背景*/
.bg-bk
{
    background: #1F1F1F;
}

/*グレー背景*/
.bg-gr
{
    background: #F4F4F4;
}

/*ボタン*/
.link-btn
{
    font-family: 'Go-normal';
    width: 270px;
    height: 45px;
    margin: 0 auto;
    text-align: center;
    line-height: 45px;
    border: 1px #1F1F1F solid;
    border-radius: 50px;
}

.link-btn:hover
{
    color: #fff;
    background-color: #1F1F1F;
    opacity: 1;
    transition: 0.2s;
}

/*見出し-01*/
h2
{
    padding-top: 14rem;
    padding-bottom: 5rem;
    text-align: center;
}

h2 .en
{
    font-family: 'Go-bold';
    font-size: 8rem;
    margin-bottom: 0.8rem;
    letter-spacing: 0.15em;
}

h2 .ja
{
    font-family: 'Go-normal';
    font-size: 2rem;
    letter-spacing: 0.1em;
}

/*見出し-02*/
h3
{
    padding-bottom: 4.5rem;
    text-align: center;
}

h3 span
{
    display: block;
}

h3 .en
{
    font-family: 'Go-bold';
    font-size: 4rem;
    margin-bottom: 0.8rem;
    letter-spacing: 0.15em;
}

h3 .ja
{
    font-family: 'Go-normal';
    font-size: 1.6rem;
    letter-spacing: 0.1em;
}

/*各ページ最上部画像*/
.top-img
{
    width: 85%;
    max-width: 960px;
    height: auto;
    margin: 0 auto;
}

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

    /*ボタン*/
    .link-btn
    {
        font-size: 1.4rem;
        line-height: 35px;
        width: 250px;
        height: 35px;
    }

    /*見出し-01*/
    h2
    {
        padding-top: 9rem;
        padding-bottom: 2.3rem;
    }

    h2 .en
    {
        font-size: 4.5rem;
        margin-bottom: 0.5rem;
    }

    h2 .ja
    {
        font-size: 1.4rem;
    }

    /*見出し-02*/
    h3
    {
        padding-bottom: 2.5rem;
        text-align: center;
        letter-spacing: 0.15em;
        color: #fff;
    }

    h3 .en
    {
        font-family: 'Go-bold';
        font-size: 3.2rem;
        margin-bottom: 0.5rem;
    }

    h3 .ja
    {
        font-family: 'Go-normal';
        font-size: 1.4rem;
    }

    /*各ページ最上部画像*/
    .top-img img
    {
        width: 100%;
        max-width: 960px;
    }
}




/*ページトップへ戻るボタン
-------------------------------------*/
.pagetop-btn
{
    padding: 10rem 0 6rem 0;
    text-align: center;
}

.pagetop-btn:hover
{
    opacity: 1;
}

.pagetop-btn p
{
    margin-top: 20px;
    font-family: 'Go-normal';
}

@media screen and (max-width: 780px)
{
    .pagetop-btn
    {
        padding: 5rem 0;
    }

    .pagetop-btn p
    {
        margin-top: 10px;
        font-size: 1rem;
    }

    .pagetop-btn img
    {
        width: 30px;
    }
}

/*ぱんくずリスト
-------------------------------------*/
.breadcrumb
{
    background-color: #0071BE;
    width: 100%;
    height: 60px;
}

.breadcrumb ul
{
    display: flex;
    width: 85%;
    margin: 0 auto;
    align-items: center;
}

.breadcrumb ul li
{
    font-family: 'Go-normal';
    line-height: 60px;
    padding-right: 20px;
}

.breadcrumb ul li a
{
    color: #fff;
}

.breadcrumb ul li img
{
    vertical-align: middle;
}

@media screen and (max-width: 780px)
{
    .breadcrumb
    {
        height: 35px;
    }

    .breadcrumb ul li
    {
        font-size: 1.2rem;
        line-height: 35px;
        padding-right: 10px;
    }
}


/*フッター
-------------------------------------*/
footer
{
    background-color: #1F1F1F;
    color: #fff;
    padding: 5rem 0;
    font-family: 'Go-normal';
    z-index: 200;
}

.footer-inner
{
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.footer-left
{
    width: 35rem;
}

footer .logo-area
{
    width: 200px;
    height: auto;
}

.footer-left .location-area
{
    margin: 4rem 0;
}

.footer-left .location-area .top
{
    border-bottom: #fff 1px solid;
    padding-bottom: 7px;
}

.footer-left .location-area .botoom
{
    margin: 2rem 0;
    font-size: 1.4rem;
    line-height: 1.5;
}

.footer-left .location-area a
{
    width: 80px;
    height: 25px;
    font-size: 1.4rem;
    text-align: center;
    align-items: center;
    border-radius: 50px;
    color: #fff;
    border: #fff 1px solid;
}

.policy-area
{
    display: flex;
    align-items: center;
}

.policy-area p
{
    font-size: 1.4rem;
    color: #fff;
    margin-right: 10px;
}

.footer-nav li a
{
    color: #fff;
}

.footer-nav li a:hover
{
    color: #0071BE;
}

.policy-area img
{
    width: 50px;
    height: 50px;
}

/*コピーライト*/
.copyright
{
    width: 85%;
    margin: 0 auto;
    color: #818181;
    background-color: #1F1F1F;
    font-size: 1.2rem;
    text-align: right;
    padding-top: 3rem;
}

@media screen and (max-width: 780px)
{
    footer
    {
        padding: 3.5rem 0;
    }

    .footer-inner
    {
        display: block;
    }

    footer .logo-area
    {
        width: 140px;
    }

    .footer-left
    {
        width: 100%;
    }

    .footer-left .location-area
    {
        margin: 3rem 0;
    }

    .footer-left .location-area .top
    {
        font-size: 1.4rem;
    }

    .footer-left .location-area .botoom
    {
        font-size: 1.2rem;
        margin: 1.5rem 0;
    }

    .footer-left .location-area a
    {
        font-size: 1.2rem;
        width: 70px;
        height: 20px;
    }

    .policy-area p
    {
        font-size: 1.2rem;
        margin-right: 7px;
    }

    .footer-nav li a:hover
    {
        opacity: 0.8;
    }


}



/*アニメーションスタイル
-------------------------------------*/
/* スクロールで下から */
.fadeUp
{
    animation-name: fadeUpAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime
{
    from
    {
        opacity: 0;
        transform: translateY(50px);
    }

    to
    {
        opacity: 1;
        transform: translateY(0);
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger
{
    opacity: 0;
}

/* スパム対策Turnstileのアイコンを非表示　*/
.wpcf7-turnstile.cf-turnstile
{
    display: none;
}