@charset "utf-8";


/*
#gnav{
   position: fixed;
   top: 0;
   z-index: 1000;
   width: 100%;
}
*/

#gnav a {
    color: #fff;
}

@media screen and (min-width: 769px) {
    #btn {
        display: none;
    }

    #gnav #inner > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 100%;
        padding-right: 20px;

    }

    #gnav li {
        margin: 20px 20px;
    }

    .gnabBg {
        background: rgba(0, 0, 0, 0.8);
        margin-right: 20px;
        -webkit-transition: height 0.3s;
        -webkit-transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
        transition: all 300ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
        /* linear */

        -webkit-transition-timing-function: cubic-bezier(0.250, 0.250, 0.750, 0.750);
        transition-timing-function: cubic-bezier(0.250, 0.250, 0.750, 0.750);
        /* linear */

    }

    div.mainvisual {

        position: absolute;
        top: 18vw;
        z-index: 200;
        font-size: 68px;
        color: #c10008;
        font-weight: bold;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
        text-transform: uppercase;
        padding-left: 13vw;
        width: 100%;

    }

    div.mainvisual > div:first-of-type img {
        margin-left: 20px;
    }

    div.catch {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: flex-start;
    }

    div.catch p {
        color: #fff;
        font-size: 22px;
        line-height: 1.8rem
    }

    div.catch p span {
        font-size: 125%;
    }

    div.catch::before {
        content: url(../img/line.png);
        padding: 0 10px;
        vertical-align: middle;
        margin-top: -25px;

    }

    header {
        height: 30%;
        overflow: hidden;
        border-right: 18px solid #c10008;
    }

    header > div:last-of-type {
        width: 80%;
        float: right;
        background: #2f2926;

    }

    header > div:last-of-type img {
        display: block;
        width: 100%;
        height: auto;
        opacity: 0.4;

    }

    main,
    footer {
        border-left: 20px solid #c10008;
        margin-bottom: -20px;
    }

    main .leadText {
        background: #c10008;
        padding: 80px;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        color: #fff;
        position: absolute;
        z-index: 500;
        left: 50%;
        margin-left: -349px;
        margin-top: -15%;
    }

    main .leadText h2 {
        font-size: 25px;
        font-weight: bold;
        white-space: pre-wrap;
    }


    main .leadText p {
        margin: 5px 0;
    }

    main .leadText p:first-of-type {
        font-size: 76px;
        font-weight: bold;
    }

    main .leadText p:first-of-type a {
        color: #fff;
    }

    main .leadText p:nth-of-type(2) {
        font-size: 13px;
        text-align: right;
        margin-bottom: 30px;
    }

    main .leadText p:nth-of-type(3) {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 10px;
        line-height: 2rem;
    }

    main .leadText p:nth-of-type(3) span {
        font-size: 125%;
    }

    .subImage {
        max-height: 750px;
        overflow: hidden;
        width: 100%;
        border-right: 20px solid #c10008;
    }

    .subImage img {
        width: 80%;
        height: auto;

    }


    article > div {
        width: 825px;
        margin: 0 auto;
        padding-top: 80px;
    }

    article > div > p {
        font-size: 16px;
        line-height: 1.8rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        margin: 30px 0;
        text-align: justify;
    }

    article > div > article {
        font-size: 80%;
        text-align: right;
        padding-top: 10px;
    }

    section > div:first-of-type {
        width: 825px;
        margin: 0 auto;
        background: #2e3192;
        color: #fff;
        height: 80px;
        border-radius: 40px;
        padding: 15px 10px;
        text-align: center;
        margin-top: 50px;
        font-size: 26px;
        font-weight: bold;
        line-height: 3.5rem;

    }

    section > div:first-of-type br {
        display: none;
    }

    section > div:last-of-type {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        width: 825px;
        margin: 0 auto;
        margin-top: 30px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    section > div:last-of-type p:first-of-type {
        font-weight: bold;
        color: #c10008;
        /*font-size: 72px;*/
    }

    section > div:last-of-type p:first-of-type a {
        color: #000;
        font-size: 4rem;
        display: block;
    }

    section > div:last-of-type p:last-of-type {
        font-size: 20px;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        line-height: 1.5rem;
    }

    section > div:last-of-type::before {
        font-family: "Font Awesome 5 Free";
        content: "\f2a0";
        font-size: 58px;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        -webkit-transform: rotateZ(-30deg);
        transform: rotateZ(-30deg);
        -webkit-transform-origin: center;
        transform-origin: center;
        margin-right: -13px;
        margin-bottom: 10px;
    }

    .contact {
        width: 680px;
        margin: 0 auto;
        padding: 100px 0px 80px 0px;
    }

    .frame {
        overflow: hidden;
        overflow-x: hidden;
        overflow-y: hidden;
        height: 600px;
        width: 100%;
        position: relative;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
    }

    .contact form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

    }

    .contact form > div {
        margin-bottom: 15px;
    }

    .contact form > div label {
        font-weight: bold;
        text-transform: uppercase;
    }


    .contact form > div input {
        width: 330px;
        height: 55px;
        padding: 10px;
        border: 1px solid #000;
    }

    .contact form > div.agreement {
        width: 680px;
        margin-top: 50px;
        margin-bottom: 15px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;

    }

    .contact form > div.agreement a {
        text-decoration: underline;
        line-height: 1rem;
    }

    .contact form > div.agreement input[type=checkbox] {
        width: 16px;
        height: 16px;

    }

    .contact form > div textarea {
        padding: 10px;
        border: 1px solid #000;
        width: 680px;
        height: 100px;
    }

    .contact form > div input,
    .contact form > div textarea {
        margin-top: 3px;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    }

    .copyright {
        -webkit-transform: rotateZ(90deg);
        transform: rotateZ(90deg);
        position: fixed;
        right: -129px;
        padding: 0;
        top: 60%;
        color: #999;
        font-size: 12px;
        z-index: 300;
    }


    /*プライバシーポリシーページ*/
    body#policy article:first-of-type {
        border-right: 20px solid #c10008;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    body#policy article h2 {
        background: #c10008;
        height: 70px;
        color: #fff;
        text-align: center;
        font-size: 2.5rem;
        padding-top: 1rem;
        font-weight: bold;
    }


    body#policy article ul {
        padding-left: 18px;
        font-size: 16px;
        line-height: 1.8rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        margin: 30px 0;
    }

    body#policy article li {
        list-style-type: disc;
        margin-bottom: 20px;

    }

    body#policy article dl {
        font-size: 16px;
        line-height: 1.8rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        margin: 30px 0;
    }

    body#policy article dt {
        font-weight: bold;
        font-size: 150%;
        margin-bottom: 10px
    }

    body#policy article dl > dd:nth-of-type(4n) {
        margin-bottom: 30px;

    }


    /*会社概要ページ*/
    body#company article:first-of-type {
        border-right: 20px solid #c10008;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 125px;
    }

    body#company article h2 {
        background: #c10008;
        height: 70px;
        color: #fff;
        text-align: center;
        font-size: 2.5rem;
        padding-top: 1rem;
        font-weight: bold;
    }



}


@media screen and (max-width: 768px) {
    #btn {
        width: 55px;
        height: 77px;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2000;
    }

    header > div:last-of-type {
        width: 100%;
        float: none;
        background: #2f2926;
        margin-top: 62px;
    }

    header > div:last-of-type img {
        height: auto;
        width: 100%;
        opacity: 0.4;
        display: block;
    }

    #inner > ul {
        display: none;
        padding: 10px;
        background: rgba(0, 0, 0, 0.9);
        font-size: 4vw;

    }

    #inner > ul li {
        border-bottom: 1px solid #575656;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    #inner > ul li::after {
        font-family: "Font Awesome 5 Free";
        content: "\f105";
        color: #fff;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
    }

    #inner > ul li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 55px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .mainvisual {
        margin-top: 140px;
        position: absolute;
        color: #c10008;
        font-weight: bold;
        font-size: 1.5rem;
        z-index: 300;
        width: 98vw;
        left: 50%;
        margin-left: calc(-1 * 98vw / 2);
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
    }

    .mainvisual > div:first-of-type {
        border-bottom: 2px solid #c10008;
        width: 100%;
    }

    .mainvisual .catch {
        font-size: 1rem;
        color: #fff;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        padding-top: 5px;
        margin-top: 3px;
        line-height: 1.3rem;
        text-align: center;
    }

    .mainvisual .catch span {
        font-size: 125%;
    }

    .mainvisual img {
        width: 30%;
        margin-left: 10px;
    }

    .subImage img {
        width: 100%;
        height: auto;
        display: block;
    }

    main .leadText {
        background: #c10008;
        padding: 10px;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        color: #fff;
        position: initial;
        z-index: 500;
        left: 0%;
        margin-left: initial;
        margin-top: initial;

    }

    main .leadText h2 {
        font-size: 8.5vw;
        line-height: 9vw;
    }

    main .leadText > p:first-of-type {
        font-size: 13vw;
        margin: 10px 0;
    }

    main .leadText > p:nth-of-type(2) {
        font-size: 6vw;
        line-height: 7vw;
        margin: 10px 0;
    }

    main .leadText > p:nth-of-type(3) {
        font-size: 4.6vw;
        line-height: 6.5vw;
        text-align: center;

    }

    main .leadText > p:nth-of-type(3) span {
        font-size: 6vw;
    }

    main .leadText a {
        color: #fff;

    }

    article > div {
        width: 90vw;
        margin: 0 auto;
        padding-top: 10px;
    }

    article > div > p {

        line-height: 1.3rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        margin-bottom: 30px;
        text-align: justify;
    }

    article > div > p:last-of-type {
        margin-bottom: 0;
    }

    article > div > article {
        font-size: 80%;
        padding-top: 5px;
        padding-left: 1.5rem;
        text-indent: -1.5rem;
        margin-bottom: 30px;
    }

    section a {
        font-weight: bold;
    }

    section > div:first-of-type {
        width: 90vw;
        margin: 0 auto;
        background: #2e3192;
        color: #fff;
        border-radius: calc(30px + 4.5vw / 2);
        padding: 15px 10px;
        text-align: center;
        margin-top: 30px;
        font-size: 4.5vw;
        font-weight: bold;
        line-height: 5vw;
    }

    section > div:last-of-type {
        margin: 30px auto 80px;
        text-align: center;
    }

    section > div:last-of-type p:first-of-type {
        font-size: 10.5vw;
        margin-bottom: 10px
    }

    section > div:last-of-type p:last-of-type {
        font-size: 5vw;
    }

    section > div:last-of-type br {
        display: none;
    }

    .contact {
        width: 100vw;
        margin: 0 auto;
        /*padding: 100px 0px 80px 0px;*/
    }

    .frame {
        overflow: hidden;
        overflow-x: hidden;
        overflow-y: hidden;
        height: 560px;
        width: 100%;
        position: relative;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
    }


    .contact form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

    }

    .contact form > div {
        margin-bottom: 15px;
    }

    .contact form > div label {
        font-weight: bold;
        text-transform: uppercase;
    }


    .contact form > div input {
        width: 90vw;
        height: 30px;
        padding: 10px;
        border: 1px solid #000;
    }

    .contact form > div.agreement {
        width: 680px;
        margin-top: 50px;
        margin-bottom: 15px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;

    }

    .contact form > div.agreement a {
        text-decoration: underline;
        line-height: 1rem;
    }

    .contact form > div.agreement input[type=checkbox] {
        width: 16px;
        height: 16px;

    }

    .contact form > div textarea {
        padding: 10px;
        border: 1px solid #000;
        width: 90vw;
        height: 100px;
    }

    .contact form > div input,
    .contact form > div textarea {
        margin-top: 3px;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    }

    .contact input[type="submit"] {
        width: 96vw;
        font-size: 5vw;
        -webkit-appearance: none;
        border-radius: 0;
        padding: 10px 0;
        height: 61px;
    }

    .copyright {
        text-align: center;
        font-size: 80%;
        margin-top: 50px;
        border-top: 1px solid #ddd;
        padding-top: 10px;
    }

    /*プライバシーポリシーページ*/
    body#company article:first-of-type {
        margin-bottom: 125px;
    }

    body#policy article h2 {
        background: #c10008;
        margin-bottom: 10px;
        color: #fff;
        text-align: center;
        font-size: 5vw;
        padding: 3vw 0;
        font-weight: bold;
    }

    body#policy article ul {
        padding-left: 18px;
        margin: 30px 0;
        line-height: 1.3rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
    }

    body#policy article li {
        list-style-type: disc;
        margin-bottom: 20px;

    }

    body#policy article dl {

        line-height: 1.8rem;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
        margin: 30px 0;
    }

    body#policy article dt {
        font-weight: bold;
        font-size: 134%;
        margin-bottom: 10px;
        text-align: justify;
    }

    body#policy article dd {
        letter-spacing: -2px;
    }

    body#policy article dl > dd:nth-of-type(4n) {
        margin-bottom: 30px;
    }


    /*会社概要ページ*/
    body#company article:first-of-type {
        margin-bottom: 125px;
    }

    body#company article h2 {
        background: #c10008;
        margin-bottom: 10px;
        color: #fff;
        text-align: center;
        font-size: 5vw;
        padding: 3vw 0;
        font-weight: bold;
    }



}



@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    section > div:last-of-type p:first-of-type a {
        color: #000;
        font-size: 5.5vw;
    }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    section > div:last-of-type p:first-of-type a {
        color: #000;
        font-size: 4.3vw;
        display: block;
    }
}
