        @charset "utf-8";
        /* ================================
common
================================ */
        
        body {
            font-size: 14px;
            margin: 0em;
            width: 768px;
            max-width: 100%;
            font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
        }
        
        img {
            width: 100%;
            height: auto;
            display: block;
        }
        
        p {
            max-width: 100%;
            margin: 0 auto;
            font-size: 2vw;
            line-height: 2em;
            color: #333333;
        }
        
        button {
            background-color: transparent;
            border: none;
            cursor: pointer;
            outline: none;
            padding: 0;
            appearance: none;
        }
        
        a {
            color: #333333;
        }
        
        .wrap {
            max-width: 100%;
            margin: 0 5%;
        }
        
        .cbg01 {
            background: #f0f3f9;
        }
        /* ================================
head
================================ */
        
        .head {
            background: #fff;
            position: relative;
            z-index: 999;
            position: fixed;
            box-shadow: 0 0 8px gray;
        }
        
        .head_in {
            text-align: center
        }
        
        .headbtn {
            max-width: 100%;
            width: 60%;
            margin-top: 7%;
        }
        
        .head ul {
            display: flex;
        }
        
        .head li {
            margin-right: auto;
        }
        
        .head li:first-child {
            margin-right: auto;
        }
        
        .logo {
            max-width: 100%;
            width: 77%;
            margin: 0 auto;
            margin: 9% 0 9% 3%;
        }
        
        .head_text {
            right: 2%;
            top: 1%;
            position: absolute;
            margin: 11% 13% 0 0;
            color: #fff;
            font-size: 1vmin;
            z-index: 100;
            padding: 0%
        }
        
        #header {
            position: fixed;
            width: 100%;
            display: flex;
            justify-content: space-around;
            background-color: #2c395f;
            z-index: 999;
            box-shadow: 0 0 8px gray;
        }
        
        .headtext {
            position: absolute;
            top: 4vw;
            color: #2c395f;
            margin: 8% auto;
            padding: 0 2.5%;
            width: 10vw;
        }
        
        .hnb {
            background-color: #2c395f;
            color: #ffffff;
        }
        
        .head li a {
            text-decoration: none;
            color: #333333;
        }
        
        .navtd {
            overflow: auto;
        }
        /*ナビのスタイル*/
        
        nav.NavMenu {
            position: fixed;
            z-index: 12;
            top: 0;
            left: 0;
            background: rgba(255, 255, 255, 0.95);
            text-align: center;
            width: 100%;
            height: 100%;
            display: none;
            overflow: auto;
        }
        
        nav.NavMenu td {
            width: 100%;
            margin: 5%;
            padding: 0;
            overflow: auto;
        }
        
        nav.NavMenu td {
            font-size: 24px;
            list-style-type: none;
            width: 100%;
            padding-bottom: 0px;
            text-align: center;
            overflow: auto;
        }
        
        nav.NavMenu td:last-child {
            padding-bottom: 0;
        }
        
        nav.NavMenu td a {
            display: block;
            margin: 18%;
        }
        
        nav.NavMenu ul {
            width: 100%;
        }
        
        nav.NavMenu ul li {
            display: list-item;
            /* 縦に並べる */
            list-style-type: none;
            text-transform: uppercase;
            padding: 0.5em;
        }
        
        .contents {
            padding-top: 10%;
        }
        
        .contents_innner {
            padding-top: 10%;
            margin-top: -10%;
        }
        /*ボタンのスタイル*/
        
        .Toggle {
            position: fixed;
            right: 0;
            top: 0;
            height: 15vw;
            cursor: pointer;
            z-index: 13;
            display: block;
            margin: 0 auto;
            max-width: 100%;
            width: 15vw;
        }
        
        .Toggle span {
            display: block;
            position: absolute;
            width: 10vw;
            border-bottom: solid .8vw #fff;
            -webkit-transition: .35s ease-in-out;
            -moz-transition: .35s ease-in-out;
            transition: .35s ease-in-out;
            left: 18%;
        }
        
        .Toggle span:nth-child(1) {
            top: 30%;
        }
        
        .Toggle span:nth-child(2) {
            top: 50%;
        }
        
        .Toggle span:nth-child(3) {
            top: 70%;
        }
        
        .Toggle.active span:nth-child(1) {
            top: 50%;
            left: 18%;
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            transform: rotate(-45deg);
            border-bottom: solid 3px #2c395f;
        }
        
        .Toggle.active span:nth-child(2),
        .Toggle.active span:nth-child(3) {
            top: 50%;
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            transform: rotate(45deg);
            border-bottom: solid 3px #2c395f;
        }
        
        .Toggle.active {}
        
        .youtube {
            position: relative;
            width: 100%;
            padding-top: 56.25%;
            margin: 5% 0;
        }
        
        .youtube iframe {
            position: absolute;
            top: 0;
            right: 0;
            width: 100% !important;
            height: 100% !important;
        }
        
        .menu-title {
            max-width: 75%;
            margin: 5% 13%;
        }
        
        .menu-btm {
            max-width: 95%;
            margin: 0 3%;
            opacity: 1;
        }
        
        .menu {
            max-width: 90%;
            margin: 0 5%;
        }
        /* ================================
fv
================================ */
        
        .fv img {
            margin-bottom: 5%;
        }
        
        .fv_bk {
            background-image: url("../images/fv-bg.png");
            background-size: cover;
            position: relative;
            margin-top: 0%;
        }
        
        .fv_text {
            position: absolute;
            top: 0;
            right: 33vw;
            z-index: 10;
            margin-top: 58%;
        }
        
        .info {}
        
        .info_btn {
            position: absolute;
            left: 0;
            margin: -14.5% 5vw;
        }
        
        .info_btn td {
            padding: 0 1%;
        }
        /*カルーセルスライダーの大きさ設定*/
        /* ================================
sec01
================================ */
        
        .sec01title .wrap {
            max-width: 70%;
            margin: 0 15%;
        }
        
        .sec01 {
            background-size: cover;
            position: relative;
            margin-top: 0%;
        }
        
        .sec01 .wrap .relative {
            position: relative;
        }
        
        .sec01 img {
            margin: 0 auto;
        }
        
        .sec01text {
            font-size: 2vw;
            margin-bottom: 0.4vw;
            text-align: center;
            position: absolute;
            width: 95%;
        }
        /* ================================
sec02
================================ */
        
        .sec02 img {
            margin-bottom: 5%;
            margin: 0 auto;
        }
        
        .sec02 {
            background-color: #fff;
            margin-top: 0%;
        }
        
        .sec02 .wrap .relative {
            position: relative;
            padding-bottom: 10%;
        }
        
        .sec02title {
            margin: 5% auto;
            width: 64vw;
        }
        /* ================================
sec03
================================ */
        
        .sec03 {
            margin-top: 0%;
        }
        
        .sec03 img {
            margin-bottom: 5%;
        }
        
        .sec03 .wrap .relative {
            position: relative;
        }
        
        .sec03_td {
            width: 90%;
            margin: 0 auto;
        }
        
        .sec03_tb {
            margin: 0 auto;
            padding: 0 4% 8% 4%
        }
        
        .sec03title {
            margin: 0 auto 10% auto;
            padding-top: 5%;
            width: 84vw;
        }
        
        .sec03btm {
            margin: 5% auto;
            width: 93%;
        }
        
        .sec03_text01 p {
            line-height: 1.8em;
            max-width: 95%;
            margin-top: 35%;
            font-size: 3.8vw;
        }
        
        .sec03pic {
            margin: 2.5% auto;
            padding-bottom: 40%;
            width: 98%;
        }
        /* ================================
sec04
================================ */
        
        .sec04 {
            background-color: #fff;
            margin-top: 0%;
        }
        
        .sec04 .wrap .relative {
            position: relative;
        }
        
        .sec04title {
            margin: 3% auto 0 auto;
            width: 30vw;
        }
        
        .sec04 img {
            margin-bottom: 5%;
        }
        /* ================================
sec05
================================ */
        
        .sec05 {
            background-color: #ffffff;
            margin-top: 0%;
        }
        
        .sec05 img {
            margin-bottom: 5%;
        }
        
        .sec05 .wrap .relative {
            position: relative;
        }
        
        .sec05title {
            margin: 5% auto;
            width: 46vw;
            padding: 10% 0 3% 0;
        }
        
        .sec06 {}
        
        .sec06 img {
            margin-bottom: 5%;
        }
        
        .sec06title {
            margin: 0 auto 3% auto;
            width: 53vw;
            padding: 10% 0 2% 0;
        }
        
        .sec06stitle {
            margin: 0 auto 10% auto;
            width: 60vw;
        }
        
        .sec06_td {
            margin: 0 auto;
        }
        
        .sec06 table {
            margin: 5% auto;
        }
        
        .sec06 tr {
            margin: 2%;
        }
        
        .sec06 td {
            padding: 2%;
        }
        
        .sec06btn {
            max-width: 90%;
            margin: 10% auto 0%;
            padding-bottom: 15%;
        }
        /* ================================
sp_ft
================================ */
        
        .sp_ft {
            display: none;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background: rgba(255, 255, 255, 0.8);
        }
        /* ================================
footer
================================ */
        
        .footer {
            line-height: 20px;
            background: #eeeeee;
            color: #333333;
            word-spacing: 10px;
        }
        
        .footer .wrap {
            text-align: center;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: flex;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            justify-content: space-between;
            align-items: center;
        }
        
        .footer_rogo {
            width: 50vw;
            margin: 0 auto;
            padding: 8% 0 3% 0;
        }
        
        .footer li {
            list-style-type: none;
            position: relative;
            padding-top: 3%;
            text-align: center;
        }
        
        .footer a {
            color: #333333;
            font-size: 3.5vw;
            padding-right: 2%;
        }
        
        .footer li p {
            color: #333333;
            font-size: 3.4vw;
        }
        
        .sp_ft {
            display: none;
            text-align: center;
        }
        
        .sp_ft img {
            width: 94%;
        }
        
        @media screen and (max-width: 768px) {
            .sp_ft {
                display: block;
            }
            .footer {
                padding-bottom: 7%;
            }
            .footer .wrap,
            .footer li {
                display: block;
            }
            .footer .left {
                text-align: center;
            }
            .footer ul {
                width: 90%;
                margin: 0 auto;
            }
        }