@charset "UTF-8";

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fixheader {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    }

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

@keyframes borderS {
    0% {
        height: 0px;
        opacity: 0;
    }

    100% {
        height: 6px;
        opacity: 1;
        background-color: #000;
    }
}

@keyframes borderM {
    0% {
        height: 0;
        opacity: 0;
    }

    100% {
        height: 8px;
        opacity: 1;
        background-color: #000;
    }
}

@keyframes borderL {
    0% {
        height: 0;
        opacity: 0;
    }

    100% {
        height: 8px;
        opacity: 1;
        background-color: #000;
    }
}

/*Media Query*/
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

img[data-speed=flag] {
    opacity: 0;
}

img[data-loaded=true] {
    animation: fadeIn 1s both;
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/NotoSansCJKjp-Thin.eot");
    src: url("../fonts/NotoSansCJKjp-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Thin.woff") format("woff"), url("../fonts/NotoSansCJKjp-Thin.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/NotoSansCJKjp-Light.eot");
    src: url("../fonts/NotoSansCJKjp-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Light.woff") format("woff"), url("../fonts/NotoSansCJKjp-Light.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/NotoSansCJKjp-DemiLight.eot");
    src: url("../fonts/NotoSansCJKjp-DemiLight.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../fonts/NotoSansCJKjp-DemiLight.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NotoSansCJKjp-Regular.eot");
    src: url("../fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/NotoSansCJKjp-Medium.eot");
    src: url("../fonts/NotoSansCJKjp-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Medium.woff") format("woff"), url("../fonts/NotoSansCJKjp-Medium.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSansCJKjp-Bold.eot");
    src: url("../fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/NotoSansCJKjp-Black.eot");
    src: url("../fonts/NotoSansCJKjp-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Black.woff") format("woff"), url("../fonts/NotoSansCJKjp-Black.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans Mono CJK JP";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NotoSansMonoCJKjp-Regular.eot");
    src: url("../fonts/NotoSansMonoCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansMonoCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansMonoCJKjp-Regular.otf") format("opentype");
}

@font-face {
    font-family: "Noto Sans Mono CJK JP";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSansMonoCJKjp-Bold.eot");
    src: url("../fonts/NotoSansMonoCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansMonoCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansMonoCJKjp-Bold.otf") format("opentype");
}

/*! HTML5 Boilerplate v7.0.1 | MIT License | https://html5boilerplate.com/ */
/* main.css 1.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
    margin: 0 auto;
    padding: 0;
    color: #000;
    font-size: 62.5%;
    line-height: 1.4;
}

html.noscroll {
    overflow: hidden;
}

body {
    margin: 0 auto;
    padding: 0;
    height: auto;
    font-family: "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

html,
body {
    -ms-overflow-x: hidden;
    overflow-x: hidden;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
  Author's custom styles
  ========================================================================== */
::placeholder {
    color: #A9A9A9;
}

.is-hide {
    display: none !important;
}

.is-active {
    display: block !important;
}

picture {
    margin: 0;
    padding: 0;
    display: block;
}

.breakpoint {
    position: fixed;
    left: 0;
    bottom: 0;
    width: auto;
    text-align: center;
    transition: 0.5s;
    background-color: #fff;
    color: #000;
    font-size: 18px;
    font-size: 1.8rem;
    padding: 10px 20px 10px 20px;
    z-index: 100;
    box-sizing: border-box;
    display: none;
}

.breakpoint::before {
    content: "default(SP)";
}

@media (min-width: 576px) {
    .breakpoint {
        background-color: black;
        color: #fff;
    }

    .breakpoint::before {
        content: "small (Landscape）";
    }
}

@media (min-width: 768px) {
    .breakpoint {
        background-color: blue;
        color: #fff;
    }

    .breakpoint::before {
        content: "Medium (min768px)";
    }
}

@media (min-width: 992px) {
    .breakpoint {
        background-color: orange;
        color: #fff;
    }

    .breakpoint::before {
        content: "Large (min992px)";
    }
}

@media (min-width: 1200px) {
    .breakpoint {
        background-color: green;
        color: #fff;
    }

    .breakpoint::before {
        content: "Extra Large (min1200px)";
    }
}

/* -----------------------------------------------
  global layout
 ----------------------------------------------- */
#wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

a {
    transition: 0.5s;
    color: #000;
}

a .picture {
    transition: 0.5s;
}

a:hover {
    text-decoration: none;
    color: #666;
}

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

#contents {
    max-width: 100%;
    margin: 130px auto 0 auto;
    padding: 0;
    box-sizing: border-box;
    will-change: transform;
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
    #contents {
        width: 100%;
        margin: 100px auto 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents {
        width: 100%;
        margin: 0 auto 0 auto;
        padding: 100px 0 0 0;
        box-sizing: border-box;
    }
}

/* ==========================================================================
  Helper classes
  ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
    display: none !important;
}

.pc-hidden {
    display: block;
}

@media (min-width: 768px) {
    .pc-hidden {
        display: none;
    }
}

@media (min-width: 1200px) {
    .pc-hidden {
        display: none;
    }
}

.sp-hidden {
    display: none;
}

@media (min-width: 768px) {
    .sp-hidden {
        display: inline-block;
    }
}

@media (min-width: 1200px) {
    .sp-hidden {
        display: inline-block;
    }
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

/*
* Extends the .visuallyhidden class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/
/*
* Hide visually and from screen readers, but maintain layout
*/
.invisible {
    visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/
.clearfix:before {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a {
        text-decoration: underline;
    }

    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " ("attr(href) ")";
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* ---------------------------------------------------
  global header
-------------------------------------------------- */
#global-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    margin: 35px 0 35px 0;
    padding: 0;
    height: 55px;
    min-height: 55px;
    max-height: 55px;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #global-header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100px;
        min-height: 100px;
        max-height: 100px;
        margin: 0 auto 0 auto;
        padding: 40px 0 0 0;
        background-color: transparent;
        z-index: 99999;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #global-header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100px;
        min-height: 100px;
        max-height: 100px;
        margin: 0 auto 0 auto;
        padding: 40px 0 0 0;
        background-color: transparent;
        z-index: 99999;
        box-sizing: border-box;
    }
}

#global-header.is_scroll {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    margin: 0;
    height: 70px;
    min-height: 70px;
    max-height: 70px;
    padding: 10px 0 10px 0;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.8);
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    animation-name: fixheader;
    animation-duration: 0.3s;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #global-header.is_scroll {
        height: auto;
        min-height: auto;
        max-height: auto;
        margin: 0 auto 0 auto;
        padding: 10px 0 20px 0;
    }
}

@media (min-width: 1200px) {
    #global-header.is_scroll {
        height: auto;
        min-height: auto;
        max-height: auto;
        margin: 0 auto 0 auto;
        padding: 15px 0 20px 0;
    }
}

.hd {
    /*SP*/
}

.hd__container {
    position: relative;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

@media (min-width: 768px) {
    .hd__container {
        max-width: 767px;
        margin: 0 auto;
        padding: 0 20px 0 20px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    .hd__container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
}

@media (min-width: 768px) {
    .hd__navi {
        width: auto;
        margin: 0 0 0 auto;
        padding: 0;
        display: inline-flex;
        justify-content: flex-start;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    .hd__navi {
        width: auto;
        margin: 0 0 0 0;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
}

.hd__navi-logo {
    max-width: auto;
    width: 55px;
    height: 48px;
    margin: 0 0 0 32px;
    padding: 0;
}

@media (min-width: 768px) {
    .hd__navi-logo {
        max-width: 55px;
        margin: 0 auto 0 0;
        padding: 0;
        display: block;
    }
}

@media (min-width: 1200px) {
    .hd__navi-logo {
        max-width: 136px;
        height: 35px;
        margin: 0 auto 0 0;
        padding: 0;
        display: block;
    }
}

.hd__navi-logo .picture > img {
    max-width: 55px;
    height: auto;
}

@media (min-width: 768px) {
    .hd__navi-logo .picture > img {
        max-width: 55px;
        height: auto;
    }
}

@media (min-width: 1200px) {
    .hd__navi-logo .picture > img {
        max-width: 136px;
        height: auto;
    }
}

.hd__navi-list {
    display: none;
}

@media (min-width: 768px) {
    .hd__navi-list {
        margin: 0 0 0 auto;
        padding: 0;
        display: flex;
    }
}

@media (min-width: 1200px) {
    .hd__navi-list {
        margin: 0 0 0 auto;
        padding: 0;
        display: flex;
    }
}

@media (min-width: 768px) {
    .hd__navi-items {
        margin: 0;
        padding: 0 2em 0 2em;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
        display: block;
    }
}

@media (min-width: 1200px) {
    .hd__navi-items {
        margin: 0;
        padding: 0 2em 0 2em;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
        display: block;
    }
}

@media (min-width: 768px) {
    .hd__navi-link {
        margin: 0;
        padding: 0;
        text-decoration: none;
        display: block;
        color: #000;
    }
}

@media (min-width: 1200px) {
    .hd__navi-link {
        margin: 0;
        padding: 0;
        text-decoration: none;
        display: block;
        color: #000;
    }
}

.hd__navi-sub {
    display: none;
}

.hd__navi-sub.active {
    display: block;
}

@media (min-width: 768px) {
    .hd__navi-sub {
        margin: 0 auto 0 1em;
        padding: 0;
        display: inline-block;
    }
}

@media (min-width: 1200px) {
    .hd__navi-sub {
        margin: 0 0 0 1em;
        padding: 0;
        display: block;
    }
}

@media (min-width: 768px) {
    .hd__navi-sublink .picture {
        max-width: 133px;
        height: auto;
    }

    .hd__navi-sublink .picture img {
        width: 100%;
        height: auto;
    }
}

@media (min-width: 1200px) {
    .hd__navi-sublink .picture {
        max-width: 165px;
        height: auto;
    }

    .hd__navi-sublink .picture img {
        width: 100%;
        height: auto;
    }
}

.hd__spnavi-btn {
    width: 22px;
    height: 22px;
    margin: 0 33px 0 auto;
    display: block;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .hd__spnavi-btn {
        margin: 0;
        padding: 0;
        display: none;
    }
}

@media (min-width: 1200px) {
    .hd__spnavi-btn {
        margin: 0;
        padding: 0;
        display: none;
    }
}

/*dark mode */
.darkmode {
    background-color: #000;
}

.darkmode #global-header {
    background-color: transparent;
}

.darkmode #global-header.is_scroll {
    background-color: rgba(0, 0, 0, 0.8);
}

.darkmode .hd__navi-link {
    color: #fff;
}

.darkmode .hd__navi-link:hover {
    opacity: 0.6;
    color: #fff;
}

/*light mode */
.lightmode #global-header {
    background-color: transparent;
}

.lightmode #global-header.is_scroll {
    background-color: white;
}

.lightmode .hd__navi-link {
    color: #000;
}

.lightmode .hd__navi-link:hover {
    opacity: 0.6;
    color: #000;
}

/*transparent mode */
.tspmode #global-header {
    background-color: transparent;
}

.tspmode #global-header.is_scroll {
    background-color: rgba(0, 0, 0, 0.8);
}

.tspmode .hd__navi-link {
    color: #fff;
}

.tspmode .hd__navi-link:hover {
    opacity: 0.6;
    color: #fff;
}

/* ---------------------------------------------------
  global footer
-------------------------------------------------- */
#global-footer {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #000;
    color: #fff;
}

.ft__container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 45px 0 60px 0;
}

@media (min-width: 768px) {
    .ft__container {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 75px 0 50px 0;
    }
}

@media (min-width: 1200px) {
    .ft__container {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 115px 0 95px 0;
    }
}

.ft__navi {
    max-width: 260px;
    margin: 0 auto 60px auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media (min-width: 768px) {
    .ft__navi {
        max-width: 730px;
        margin: 0 auto 80px auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        flex-direction: row;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    .ft__navi {
        max-width: 1100px;
        margin: 0 auto 80px auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        flex-direction: row;
        align-items: center;
    }
}

.ft__navi-logo {
    max-width: 43px;
    margin: 0 auto 50px auto;
    height: auto;
    display: block;
}

@media (min-width: 768px) {
    .ft__navi-logo {
        max-width: 85px;
        margin: 0 20px 0 0;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    .ft__navi-logo {
        max-width: 85px;
        margin: 0 auto 0 0;
        padding: 0;
        box-sizing: border-box;
    }
}

.ft__navi-list {
    width: 100%;
    margin: 0 auto 90px auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .ft__navi-list {
        width: 300px;
        margin: 0 auto 0 0;
        padding: 0;
        display: inline-flex;
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    .ft__navi-list {
        width: auto;
        margin: 0 0 0 auto;
        padding: 0;
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        box-sizing: border-box;
    }
}

.ft__navi-items {
    width: 100%;
    margin: 0 auto 12px auto;
    padding: 0;
    height: 50px;
    font-size: 17px;
    font-size: 1.7rem;
    list-style: none;
    display: block;
}

@media (min-width: 768px) {
    .ft__navi-items {
        width: 50%;
        height: auto;
        margin: 0 auto;
        padding: 0.7em 2.6em 0.7em 2.6em;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 1.2;
        display: block;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    .ft__navi-items {
        width: auto;
        margin: 0 auto;
        padding: 0 2.6em 0 2.6em;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 1.2;
        display: block;
        box-sizing: border-box;
    }
}

.ft__navi-link {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .ft__navi-link {
        margin: 0;
        padding: 0;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
    }
}

@media (min-width: 1200px) {
    .ft__navi-link {
        margin: 0;
        padding: 0;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
    }
}

.ft__navi-sub {
    margin: 0;
    padding: 0;
}

.ft__bnr {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .ft__bnr {
        max-width: 168px;
        margin: 0 0 0 auto;
        padding: 0;
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    .ft__bnr {
        max-width: 350px;
        margin: 0 0 0 auto;
        padding: 0;
        display: inline-flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
    }
}

.ft__bnr-items {
    width: 100%;
    margin: 0 auto 35px auto;
    padding: 0;
    list-style: none;
}

.ft__bnr-items:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .ft__bnr-items {
        width: auto;
        margin: 0 0 10px 0;
        padding: 0;
        list-style: none;
    }
}

@media (min-width: 1200px) {
    .ft__bnr-items {
        width: auto;
        margin: 0;
        padding: 0;
        list-style: none;
    }
}

.ft__bnr-items:nth-child(1) {
    margin-right: auto;
}

@media (min-width: 1200px) {
    .ft__bnr-items:nth-child(1) {
        margin-right: 18px;
    }
}

.ft__sns {
    max-width: 140px;
    margin: 0 auto 30px auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ft__copy {
    margin: 0 auto;
    padding: 15px 0 15px 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.2;
    text-align: center;
    display: block;
}

@media (min-width: 1200px) {
    .ft__copy {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        font-size: 12px;
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.2;
        display: block;
    }
}

/* ---------------------------------------------------
  global button
-------------------------------------------------- */
.btn__primary {
    max-width: 275px;
    height: 55px;
    margin: 0 auto;
    padding: 0;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    position: relative;
    transition: all 0.3s;
    z-index: 2;
    box-sizing: border-box;
    border: 1px solid #fff;
}

.mgn-btm60 {
    margin: 20px auto 80px auto;
}

@media (min-width: 768px) {
    .btn__primary {
        max-width: 335px;
        height: 55px;
        margin: 0 auto;
        padding: 0;
        background-color: #000;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        text-decoration: none;
        color: #fff;
        position: relative;
        transition: all 0.3s;
        z-index: 2;
        box-sizing: border-box;
        border: 1px solid #fff;
    }

    .mgn-btm60 {
        margin: 20px auto 100px auto;
    }

}

@media (min-width: 1200px) {
    .btn__primary {
        max-width: 335px;
        height: 65px;
    }

    .mgn-btm60 {
        margin: 20px auto 60px auto;
    }
}




.btn__primary::after {
    width: 0%;
    height: 100%;
    background-color: #fff;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s;
    z-index: -1;
}

.btn__primary:active,
.btn__primary:hover {
    color: #000;
}

.btn__primary:active:after,
.btn__primary:hover:after {
    width: 100%;
    border: 1px solid #000;
    box-sizing: border-box;
}

.btn__secondary {
    max-width: 275px;
    height: 55px;
    margin: 0 auto;
    padding: 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    color: #000;
    position: relative;
    transition: all 0.3s;
    z-index: 2;
    box-sizing: border-box;
    border: 1px solid #000;
}

@media (min-width: 768px) {
    .btn__secondary {
        max-width: 335px;
        height: 55px;
        margin: 0 auto;
        padding: 0;
        background-color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        text-decoration: none;
        color: #000;
        position: relative;
        transition: all 0.3s;
        z-index: 2;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    .btn__secondary {
        max-width: 335px;
        height: 65px;
    }
}

.btn__secondary::after {
    width: 0%;
    height: 100%;
    background-color: #000;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s;
    z-index: -1;
}

.btn__secondary:active,
.btn__secondary:hover {
    color: #fff;
}

.btn__secondary:active:after,
.btn__secondary:hover:after {
    width: 100%;
    box-sizing: border-box;
}

.btn__submit {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: transparent;
    cursor: pointer;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
}

.btn__submit:hover {
    color: #000;
}

@media (min-width: 768px) {
    .btn__submit {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        cursor: pointer;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    .btn__submit {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        cursor: pointer;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        color: #fff;
    }
}

.btn__reset {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: transparent;
    cursor: pointer;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
}

.btn__reset:hover {
    color: #fff;
}

@media (min-width: 768px) {
    .btn__reset {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        cursor: pointer;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {
    .btn__reset {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-color: transparent;
        cursor: pointer;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }
}

/* -----------------------------------------------------------------------
  js option setting
----------------------------------------------------------------------- */
.str__animation {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.str__animation .str {
    will-change: auto;
    min-width: auto;
    transform: translateY(0);
    opacity: 0;
}

.txtlarge > .str:nth-child(1) {
    font-size: 65px;
    font-size: 6.5rem;
    font-weight: 700;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .txtlarge > .str:nth-child(1) {
        font-size: 115px;
        font-size: 11.5rem;
        font-weight: 700;
        line-height: 1.2;
    }
}

@media (min-width: 1200px) {
    .txtlarge > .str:nth-child(1) {
        font-size: 160px;
        font-size: 16rem;
        font-weight: 700;
        line-height: 1.2;
    }
}

.txtlarge > .str:nth-child(2) {
    font-size: 65px;
    font-size: 6.5rem;
    font-weight: 700;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .txtlarge > .str:nth-child(2) {
        font-size: 115px;
        font-size: 11.5rem;
        font-weight: 700;
        line-height: 1.2;
    }
}

@media (min-width: 1200px) {
    .txtlarge > .str:nth-child(2) {
        font-size: 160px;
        font-size: 16rem;
        font-weight: 700;
        line-height: 1.2;
    }
}

.txtMedium {
    font-size: 44px;
    font-size: 4.4rem;
    font-weight: 900;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .txtMedium {
        font-size: 70px;
        font-size: 7rem;
        font-weight: 900;
        line-height: 1.2;
    }
}

@media (min-width: 1200px) {
    .txtMedium {
        font-size: 100px;
        font-size: 10rem;
        font-weight: 900;
        line-height: 1.2;
    }
}

.txtSmallx {
    font-size: 23px;
    font-size: 2.3rem;
    font-weight: 900;
}

@media (min-width: 768px) {
    .txtSmallx {
        font-size: 34px;
        font-size: 3.4rem;
        font-weight: 900;
    }
}

@media (min-width: 1200px) {
    .txtSmallx {
        font-size: 53px;
        font-size: 5.3rem;
        font-weight: 900;
    }
}

.vh-element {
    height: auto;
}

@media (min-width: 768px) {
    .vh-element {
        height: 100vh;
    }
}

@media (min-width: 1200px) {
    .vh-element {
        height: 100vh;
    }
}

.scroll-el {
    will-change: transform;
}

.btnscroll {
    position: relative;
}

.btnscroll__link {
    position: absolute;
    left: 50%;
    bottom: -1em;
    transform: translateX(-50%);
    z-index: 2;
    margin: 0 auto;
    padding: 10px 0 80px 0;
    overflow: hidden;
    color: #000;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    text-decoration: none;
    writing-mode: vertical-rl;
}

.btnscroll__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 70px;
    background: #000;
    transform: translateX(-50%);
}

/*SP Menu Setting*/
.menu-open {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    width: 100%;
    height: 100vh;
    transition: 0.5s;
    background: #000;
}

.menu-open::after {
    position: absolute;
    left: 32px;
    top: 35px;
    width: 55px;
    height: 48px;
    background: url(../images/common/img_hd_logo_light_sp.svg) no-repeat 0px 0px/55px 48px;
    content: " ";
    display: block;
    margin: 0;
    padding: 0;
}

.menu-open .hd__navi-list {
    max-width: 260px;
    margin: 25% auto 0 auto;
    padding: 0;
    display: block;
    color: #fff;
}

.menu-open .hd__navi-items {
    list-style: none;
}

.menu-open .hd__navi-link {
    margin: 0;
    padding: 25px 0 25px 0;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    display: block;
    color: #fff;
}

.menu-open .hd__navi-sub {
    max-width: 260px;
    margin: 50px auto 0 auto;
}

.menu-open .hd__navi-sublink {
    width: 100%;
    height: auto;
    margin: 0 auto 0 auto;
}

.menu-open .hd__navi-sublink:nth-child(2) {
    margin-top: 35px;
}

.menu-open .hd__navi-sublink img {
    width: 267px;
    height: auto;
}

#btnspnavi {
    cursor: pointer;
}

#btnspnavi .close {
    display: none;
}

#btnspnavi.active .close {
    position: fixed;
    top: 48px;
    right: 33px;
    display: block;
    z-index: 9999;
    cursor: pointer;
    opacity: 1;
}

/* -----------------------------------------------
  CSS Import 
 ----------------------------------------------- */
/* -----------------------------------------------------------------------
  index.css
----------------------------------------------------------------------- */
#contents {
    /* -------------------------------- 
    section kv
  ----------------------------------- */
    /* -------------------------------- 
    section Why
  ----------------------------------- */
    /* -------------------------------- 
    section How
  ----------------------------------- */
    /* -------------------------------- 
    section What
  ----------------------------------- */
    /* -------------------------------- 
    section contact
  ----------------------------------- */
}

#contents .kv {
    position: relative;
    width: 100%;
    margin: 0 auto 0 auto;
    background-color: #fff;
}

@media (min-width: 768px) {
    #contents .kv {
        position: relative;
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .kv {
        position: relative;
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

#contents .kv__container {
    position: relative;
    max-width: 100%;
    height: calc(72vh);
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .kv__container {
        position: relative;
        max-width: 100%;
        height: calc(100vh - 110px);
        margin: 0 auto 0 auto;
        padding: 0;
        text-align: left;
    }
}

@media (min-width: 1200px) {
    #contents .kv__container {
        position: relative;
        max-width: 100%;
        height: calc(100vh - 110px);
        margin: 0 auto 0 auto;
        padding: 0;
        text-align: left;
    }
}

#contents .kv__txtwrap {
    position: absolute;
    left: 50%;
    top: calc(50% - 130px);
    transform: translate(-50%, -50%);
    max-width: 310px;
    margin: auto auto auto auto;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: left;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .kv__txtwrap {
        position: absolute;
        left: 50%;
        top: calc(50% - 100px);
        transform: translate(-50%, -50%);
        max-width: 514px;
        margin: auto auto auto auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        align-items: flex-end;
        text-align: left;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .kv__txtwrap {
        position: absolute;
        left: 50%;
        top: calc(50% - 100px);
        transform: translate(-50%, -50%);
        max-width: 730px;
        margin: auto auto auto auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        box-sizing: border-box;
    }
}

#contents .kv__txtwrap-tit {
    margin: 0 auto 10px auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .kv__txtwrap-tit {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .kv__txtwrap-tit {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
}

#contents .kv__txtwrap-undercatch {
    width: 100%;
    margin: 0 auto 0 auto;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .kv__txtwrap-undercatch {
        width: 100%;
        margin: 15px auto 0 auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .kv__txtwrap-undercatch {
        width: 100%;
        margin: 15px auto 0 auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        box-sizing: border-box;
    }
}

#contents .kv__txtwrap-undercatch .ja {
    margin: 0 10px 0 0;
    padding: 0;
    line-height: 1;
}

@media (min-width: 768px) {
    #contents .kv__txtwrap-undercatch .ja {
        margin: 0 0 0 5px;
        padding: 0;
        line-height: 1;
    }
}

@media (min-width: 1200px) {
    #contents .kv__txtwrap-undercatch .ja {
        margin: 0 0 0 5px;
        padding: 0;
        line-height: 1;
    }
}

#contents .kv__txtwrap-undercatch .en {
    width: 118px;
    height: 31px;
    margin: 0 0 0 0;
    padding: 0;
    background-color: #000;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    box-sizing: border-box;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 900;
}

@media (min-width: 768px) {
    #contents .kv__txtwrap-undercatch .en {
        width: 237px;
        height: 43px;
        margin: 0 0 0 18px;
        padding: 0;
        background-color: #000;
        color: #fff;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        font-size: 23px;
        font-size: 2.3rem;
        font-weight: 900;
        line-height: 1;
    }
}

@media (min-width: 1200px) {
    #contents .kv__txtwrap-undercatch .en {
        width: 277px;
        height: 54px;
        margin: 0 0 0 18px;
        padding: 0 0 0 0;
        background-color: #000;
        color: #fff;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        font-size: 27px;
        font-size: 2.7rem;
        font-weight: 900;
        line-height: 1;
    }
}

#contents .why {
    width: 100%;
    margin: 0 auto;
}

@media (min-width: 768px) {
    #contents .why {
        width: 100%;
        margin: 0 auto;
    }
}

@media (min-width: 1200px) {
    #contents .why {
        width: 100%;
        margin: 0 auto;
    }
}

#contents .why__container {
    max-width: 100%;
    margin: 0 auto 0 auto;
    padding: 50px 0 80px 0;
    background-color: #000;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .why__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto 0 auto;
        padding: 60px 0 50px 0;
        text-align: left;
        background-color: #000;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .why__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto 0 auto;
        padding: 80px 0 100px 0;
        text-align: left;
        background-color: #000;
        box-sizing: border-box;
    }
}

#contents .why__header {
    margin: 0 auto 40px auto;
    padding: 0;
    text-align: center;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .why__header {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .why__header {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

#contents .why__header-tit {
    margin: 0 auto;
    padding: 0;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .why__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .why__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

#contents .why__header-en01 {
    margin: 0 auto 10px auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .why__header-en01 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .why__header-en01 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

#contents .why__header-en02 {
    margin: 0 auto 15px auto;
    padding: 0;
    font-size: 56px;
    font-size: 5.6rem;
    line-height: 1.2;
    font-weight: 900;
    color: #000;
    text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;
    display: block;
}

@media (min-width: 768px) {
    #contents .why__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 70px;
        font-size: 7rem;
        line-height: 1.2;
        font-weight: 900;
        color: #000;
        text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .why__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 76px;
        font-size: 7.6rem;
        line-height: 1.2;
        font-weight: 900;
        color: #000;
        text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;
        display: block;
    }
}

#contents .why__header-ja01 {
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .why__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .why__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 42px;
        font-size: 4.2rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
    }
}

#contents .why__body {
    max-width: 315px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .why__body {
        max-width: 728px;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .why__body {
        max-width: 1066px;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #fff;
    }
}

#contents .why__body-tit {
    margin: 0 auto 50px auto;
    padding: 15px 10px 15px 10px;
    border: 5px solid #fff;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 900;
    display: block;
    box-sizing: border-box;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .why__body-tit {
        max-width: 728px;
        margin: 0 auto 60px auto;
        padding: 30px 0 30px 0;
        border: 10px solid #fff;
        box-sizing: border-box;
        font-size: 40px;
        font-size: 4rem;
        line-height: 1.5;
        font-weight: 900;
        display: block;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .why__body-tit {
        max-width: 934px;
        margin: 0 auto 80px auto;
        padding: 30px 0 30px 0;
        border: 10px solid #fff;
        box-sizing: border-box;
        font-size: 48px;
        font-size: 4.8rem;
        line-height: 1.5;
        font-weight: 900;
        display: block;
        color: #fff;
    }
}

#contents .why__body-txt {
    margin: 0 auto 60px auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 500;
    display: block;
    text-align: left;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .why__body-txt {
        margin: 0 auto 60px auto;
        padding: 0;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.7;
        font-weight: 500;
        text-align: center;
        display: block;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .why__body-txt {
        margin: 0 auto 60px auto;
        padding: 0;
        font-size: 25px;
        font-size: 2.5rem;
        line-height: 1.7;
        font-weight: 500;
        text-align: center;
        display: block;
        color: #fff;
    }
}

#contents .how {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

#contents .how__container {
    max-width: 100%;
    margin: 0 auto 0 auto;
    padding: 50px 0 0 0;
    background-color: #fff;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .how__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto 0px auto;
        padding: 60px 0 10px 0;
        text-align: left;
        background-color: #fff;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .how__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto 0px auto;
        padding: 60px 0 0 0;
        text-align: left;
        background-color: #fff;
        box-sizing: border-box;
    }
}

#contents .how__header {
    margin: 0 auto 60px auto;
    padding: 0;
    text-align: center;
    color: #000;
}

@media (min-width: 768px) {
    #contents .how__header {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .how__header {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .how__header-tit {
    margin: 0 auto;
    padding: 0;
    color: #000;
}

@media (min-width: 768px) {
    #contents .how__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .how__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .how__header-en01 {
    margin: 0 auto 10px auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .how__header-en01 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .how__header-en01 {
        margin: 0 auto 10px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

#contents .how__header-en02 {
    margin: 0 auto 15px auto;
    padding: 0;
    font-size: 56px;
    font-size: 5.6rem;
    line-height: 1.2;
    font-weight: 900;
    color: #fff;
    text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
    display: block;
}

@media (min-width: 768px) {
    #contents .how__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 70px;
        font-size: 7rem;
        line-height: 1.2;
        font-weight: 900;
        color: #fff;
        text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .how__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 76px;
        font-size: 7.6rem;
        line-height: 1.2;
        font-weight: 900;
        color: #fff;
        text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
        display: block;
    }
}

#contents .how__header-ja01 {
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .how__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .how__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 42px;
        font-size: 4.2rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
        color: #000;
    }
}

#contents .how__body {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    color: #000;
}

@media (min-width: 768px) {
    #contents .how__body {
        max-width: 100%;
        margin: 0 auto 160px;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .how__body {
        max-width: 100%;
        margin: 0 auto 160px;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .how__body-colwrap {
    max-width: 310px;
    margin: 0 auto 60px auto;
    padding: 0 0 20px 0;
    display: flex;
    flex-direction: column;
    border-left: 10px solid #000;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .how__body-colwrap {
        max-width: 730px;
        margin: 0 auto 66px auto;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        border: none;
    }
}

@media (min-width: 1200px) {
    #contents .how__body-colwrap {
        max-width: 1100px;
        margin: 0 auto 66px auto;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        border: none;
    }
}

@media (min-width: 1200px) {
    #contents .how__body-colwrap:last-child {
        margin-bottom: 0;
    }
}

#contents .how__body-tit {
    margin: 0;
    padding: 0 0 30px 15px;
    font-size: 57px;
    font-size: 5.7rem;
    line-height: 1.1;
    font-weight: 900;
    text-align: left;
    box-sizing: border-box;
    border-left: none;
}

@media (min-width: 768px) {
    #contents .how__body-tit {
        margin: 0;
        padding: 10px 0 35px 30px;
        font-size: 63px;
        font-size: 6.3rem;
        line-height: 1.1;
        font-weight: 900;
        text-align: left;
        box-sizing: border-box;
        border-left: 15px solid #000;
    }
}

@media (min-width: 1200px) {
    #contents .how__body-tit {
        margin: 0;
        padding: 10px 0 35px 30px;
        font-size: 90px;
        font-size: 9rem;
        line-height: 1.1;
        font-weight: 900;
        text-align: left;
        box-sizing: border-box;
        border-left: 15px solid #000;
    }
}

#contents .how__body-txt {
    max-width: 270px;
    margin: 0;
    padding: 0 0 0 15px;
    text-align: left;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 500;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .how__body-txt {
        max-width: 340px;
        margin: 0;
        padding: 0;
        text-align: left;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 500;
    }
}

@media (min-width: 1200px) {
    #contents .how__body-txt {
        max-width: 520px;
        margin: 0;
        padding: 0;
        text-align: left;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.6;
        font-weight: 500;
    }
}

#contents .how__body-txt .btn__primary {
    margin-top: 54px;
}

@media (min-width: 768px) {
    #contents .how__body-txt .btn__primary {
        margin-top: 20px;
        margin-right: 0;
    }
}

@media (min-width: 1200px) {
    #contents .how__body-txt .btn__primary {
        margin-top: 42px;
        margin-right: 0;
    }
}

#contents .what {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

#contents .what__container {
    max-width: 100%;
    margin: 0 auto 0 auto;
    padding: 35px 0 0 0;
    background-color: #fff;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .what__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto -40px auto;
        padding: 50px 0 0 0;
        text-align: left;
        background-color: #fff;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .what__container {
        max-width: 100%;
        height: auto;
        margin: 0 auto 0 auto;
        padding: 80px 0 0 0;
        text-align: left;
        background-color: #fff;
        box-sizing: border-box;
    }
}

#contents .what__header {
    margin: 0 auto 45px auto;
    padding: 0;
    text-align: center;
    color: #000;
}

@media (min-width: 768px) {
    #contents .what__header {
        margin: 0 auto 60px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .what__header {
        margin: 0 auto 60px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .what__header-tit {
    margin: 0 auto;
    padding: 0;
    color: #000;
}

@media (min-width: 768px) {
    #contents .what__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .what__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .what__header-en01 {
    margin: 0 auto 10px auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .what__header-en01 {
        margin: 0 auto 10px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .what__header-en01 {
        margin: 0 auto 10px auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        display: block;
    }
}

#contents .what__header-en02 {
    margin: 0 auto 15px auto;
    padding: 0;
    font-size: 56px;
    font-size: 5.6rem;
    line-height: 1.2;
    font-weight: 900;
    color: #fff;
    text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
    display: block;
}

@media (min-width: 768px) {
    #contents .what__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 70px;
        font-size: 7rem;
        line-height: 1.2;
        font-weight: 900;
        color: #fff;
        text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .what__header-en02 {
        margin: 0 auto 20px auto;
        padding: 0;
        font-size: 76px;
        font-size: 7.6rem;
        line-height: 1.2;
        font-weight: 900;
        color: #fff;
        text-shadow: 1px 0 0 #000, 0 1px 0 #000, -1px 0 0 #000, 0 -1px 0 #000;
        display: block;
    }
}

#contents .what__header-ja01 {
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .what__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .what__header-ja01 {
        margin: 0 auto;
        padding: 0;
        font-size: 42px;
        font-size: 4.2rem;
        line-height: 1.2;
        font-weight: 900;
        display: block;
    }
}

#contents .what__body {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    color: #000;
}

@media (min-width: 768px) {
    #contents .what__body {
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .what__body {
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        color: #000;
    }
}

#contents .what__body-link {
    max-width: 100%;
    text-decoration: none;
    display: block;
    overflow: hidden;
}

#contents .what__body-link .picture {
    max-width: 100%;
    height: auto;
    overflow: hidden;
}

@media (min-width: 768px) {
    #contents .what__body-link .picture {
        max-width: 348px;
        height: auto;
        overflow: hidden;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-link .picture {
        max-width: 516px;
        height: auto;
        overflow: hidden;
    }
}

#contents .what__body-link img {
    transition: 0.5s;
}

#contents .what__body-link:hover img {
    transform: scale(1.1);
}

#contents .what__body-tit {
    margin: 12px 0 5px 30px;
    padding: 0;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 600;
    text-align: left;
}

@media (min-width: 768px) {
    #contents .what__body-tit {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.2;
        font-weight: 600;
        text-align: left;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-tit {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.2;
        font-weight: 600;
        text-align: left;
    }
}

#contents .what__body-txt {
    margin: 0 auto;
    padding: 0 0 35px 30px;
    text-align: left;
}

@media (min-width: 768px) {
    #contents .what__body-txt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.2;
        font-weight: 500;
        text-align: left;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-txt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 500;
        text-align: left;
    }
}

#contents .what__body-colwrap {
    max-width: 728px;
    margin: 0 auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .what__body-colwrap {
        max-width: 728px;
        margin: 0 auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-colwrap {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

#contents .what__body-col {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .what__body-col {
        max-width: 348px;
        margin: 0 0 55px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-col {
        max-width: 516px;
        margin: 0 0 55px 0;
        padding: 0;
    }
}

#contents .what__body-col:nth-child(even) {
    margin-left: auto;
}

@media (min-width: 768px) {
    #contents .what__body-col .picture {
        margin: 0 auto 15px auto;
        padding: 0;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .what__body-col .picture {
        margin: 0 auto 20px auto;
        padding: 0;
        display: block;
    }
}

#contents .contact {
    width: 100%;
    margin: 0 auto;
}

#contents .contact__container {
    max-width: 100%;
    margin: 0 auto;
    padding: 50px 0 75px 0;
    background: url(../images/index/sec_contact/bg_section_01_sp@2x.png) no-repeat center center/cover;
}

@media (min-width: 768px) {
    #contents .contact__container {
        max-width: 100%;
        margin: 0 auto 0 auto;
        padding: 90px 0 90px 0;
        background: url(../images/index/sec_contact/bg_section_01@2x.png) no-repeat center center/cover;
    }
}

@media (min-width: 1200px) {
    #contents .contact__container {
        max-width: 100%;
        margin: 0 auto;
        padding: 90px 0 90px 0;
        background: url(../images/index/sec_contact/bg_section_01@2x.png) no-repeat center center/cover;
    }
}

#contents .contact__header {
    margin: 0 auto 50px auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .contact__header {
        margin: 0 auto 40px auto;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .contact__header {
        margin: 0 auto 40px auto;
        padding: 0;
    }
}

#contents .contact__header-tit {
    margin: 0 auto 30px auto;
    padding: 0;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .contact__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 900;
        line-height: 1.2;
        text-align: center;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .contact__header-tit {
        margin: 0 auto 50px auto;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 900;
        line-height: 1.2;
        text-align: center;
        color: #fff;
    }
}

#contents .contact__header-txt {
    margin: 0 auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 500;
    text-align: center;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .contact__header-txt {
        margin: 0 auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 500;
        text-align: center;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .contact__header-txt {
        margin: 0 auto;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 500;
        text-align: center;
        color: #fff;
    }
}

/* -----------------------------------------------------------------------
  about.css
----------------------------------------------------------------------- */
#contents {
    /* -------------------------------- 
    section about kv
  ----------------------------------- */
    /* -------------------------------- 
    section sec01
  ----------------------------------- */
}

#contents .about-kv {
    width: 100%;
    margin: 0 auto;
    background-color: #000;
    animation: fadeIn 2s linear 0s 1 normal;
}

@media (min-width: 768px) {
    #contents .about-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #000;
        animation: fadeIn 2s linear 0s 1 normal;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #000;
        animation: fadeIn 2s linear 0s 1 normal;
    }
}

#contents .about-kv__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    padding: 75px 0 140px 0;
    box-sizing: border-box;
}

#contents .about-kv__container::before {
    display: none;
}

@media (min-width: 768px) {
    #contents .about-kv__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 30px 0 160px 0;
        box-sizing: border-box;
    }

    #contents .about-kv__container::before {
        position: absolute;
        left: -10px;
        top: 130px;
        z-index: -1;
        width: 100%;
        content: "+2° DESIGN";
        font-size: 125px;
        font-size: 12.5rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 900;
        color: #323232;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container {
        position: relative;
        max-width: 1100px;
        margin: 0 auto;
        padding: 60px 0 295px 60px;
        box-sizing: border-box;
    }

    #contents .about-kv__container::before {
        position: absolute;
        left: 100px;
        top: 170px;
        z-index: -1;
        width: 100%;
        content: "+2° DESIGN";
        font-size: 178px;
        font-size: 17.8rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 900;
        color: #323232;
        display: block;
    }
}

#contents .about-kv__container-tit {
    margin: 0;
    padding: 0;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .about-kv__container-tit {
        margin: 0;
        padding: 0;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-tit {
        margin: 0;
        padding: 0;
        color: #fff;
    }
}

#contents .about-kv__container-tit .en {
    margin: 0 0 15px 0;
    padding: 0;
    font-size: 71px;
    font-size: 7.1rem;
    line-height: 1;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .about-kv__container-tit .en {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 65px;
        font-size: 6.5rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-tit .en {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 71px;
        font-size: 7.1rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

#contents .about-kv__container-tit .utxt {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .about-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

#contents .about-kv__container-txt {
    margin: 70px 0 20px 0;
    padding: 0;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.4;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .about-kv__container-txt {
        margin: 65px 0 25px 0;
        padding: 0;
        font-size: 40px;
        font-size: 4rem;
        font-weight: 900;
        line-height: 1.2;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-txt {
        margin: 100px 0 20px 0;
        padding: 0;
        font-size: 52px;
        font-size: 5.2rem;
        font-weight: 900;
        line-height: 1.2;
        color: #fff;
    }
}

#contents .about-kv__container-caption {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    #contents .about-kv__container-caption {
        margin: 0 0 0 20px;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-caption {
        margin: 0 0 0 20px;
        display: block;
    }
}

#contents .about-kv__container-caption .picture {
    margin: 0 0 0 0;
    padding: 0;
    display: block;
    order: 2;
}

@media (min-width: 768px) {
    #contents .about-kv__container-caption .picture {
        max-width: 580px;
        margin: 0 0 15px 35px;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-caption .picture {
        max-width: 863px;
    }
}

#contents .about-kv__container-caption .utxt {
    margin: 0 0 60px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.6;
    color: #fff;
    display: block;
}

@media (min-width: 768px) {
    #contents .about-kv__container-caption .utxt {
        margin: 0 0 0 70px;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-kv__container-caption .utxt {
        margin: 0 0 0 70px;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        display: block;
    }
}

#contents .about-sec01 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background-color: #fff;
}

@media (min-width: 768px) {
    #contents .about-sec01 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        background-color: #fff;
    }
}

#contents .about-sec01__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    padding: 55px 0 75px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .about-sec01__container {
        max-width: 728px;
        margin: 0 auto 0 auto;
        padding: 55px 0 0 20px;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__container {
        max-width: 1100px;
        margin: 0 auto -150px auto;
        padding: 100px 0 150px 100px;
        box-sizing: border-box;
    }
}

#contents .about-sec01__header {
    margin: 0 0 50px 0;
    padding: 0;
    color: #000;
}

@media (min-width: 768px) {
    #contents .about-sec01__header {
        margin: 0 0 90px 0;
        padding: 0;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__header {
        margin: 0 0 90px 0;
        padding: 0;
        color: #000;
    }
}

#contents .about-sec01__header-tit {
    margin: 0;
    padding: 0;
}

#contents .about-sec01__header-en {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 71px;
    font-size: 7.1rem;
    font-weight: 900;
    line-height: 1;
    display: block;
}

@media (min-width: 768px) {
    #contents .about-sec01__header-en {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 71px;
        font-size: 7.1rem;
        font-weight: 900;
        line-height: 1;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__header-en {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 71px;
        font-size: 7.1rem;
        font-weight: 900;
        line-height: 1;
        display: block;
    }
}

#contents .about-sec01__header-ja {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
}

@media (min-width: 768px) {
    #contents .about-sec01__header-ja {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__header-ja {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2;
    }
}

#contents .about-sec01__body {
    margin: 0 auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__body {
        margin: 0 auto;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__body {
        margin: 0 auto;
        padding: 0;
    }
}

#contents .about-sec01__history {
    margin: 0 0 90px 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__history {
        margin: 0 0 80px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__history {
        margin: 0 0 90px 0;
        padding: 0;
    }
}

#contents .about-sec01__history-items {
    margin: 0 0 30px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1.6;
    list-style: none;
}

#contents .about-sec01__history-items:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__history-items {
        margin: 0 0 20px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 1.2;
        list-style: none;
    }

    #contents .about-sec01__history-items:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__history-items {
        margin: 0 0 20px 0;
        padding: 0;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: 300;
        line-height: 1.2;
        list-style: none;
    }

    #contents .about-sec01__history-items:last-child {
        margin-bottom: 0;
    }
}

#contents .about-sec01__detail {
    margin: 0 0 60px 0;
    padding: 0;
    color: #000;
}

@media (min-width: 768px) {
    #contents .about-sec01__detail {
        margin: 0 0 80px 0;
        padding: 0;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__detail {
        margin: 0 0 80px 0;
        padding: 0;
        color: #000;
    }
}

#contents .about-sec01__detail-items {
    margin: 0 0 24px 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: 300;
    color: #000;
}

#contents .about-sec01__detail-items:last-child {
    margin-bottom: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    line-height: 1.8;
}

#contents .about-sec01__detail-items:last-child .about-sec01__detail-tit {
    min-width: 80px;
}

@media (min-width: 768px) {
    #contents .about-sec01__detail-items {
        margin: 0 0 14px 0;
        padding: 0;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        font-weight: 300;
        color: #000;
    }

    #contents .about-sec01__detail-items:last-child {
        margin-bottom: 0;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        line-height: 1.8;
    }

    #contents .about-sec01__detail-items:last-child .about-sec01__detail-tit {
        min-width: 80px;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__detail-items {
        margin: 0 0 24px 0;
        padding: 0;
        list-style: none;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.2;
        font-weight: 300;
        color: #000;
    }

    #contents .about-sec01__detail-items:last-child {
        margin-bottom: 0;
    }
}

#contents .about-sec01__detail-tit {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__detail-tit {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__detail-tit {
        margin: 0;
        padding: 0;
    }
}

#contents .about-sec01__detail-txt {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__detail-txt {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__detail-txt {
        margin: 0;
        padding: 0;
    }
}

#contents .about-sec01__prof {
    min-height: 110px;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof {
        min-height: 110px;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof {
        min-height: 110px;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
}

#contents .about-sec01__prof-list {
    margin: 0 0 0 20px;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof-list {
        margin: 0 0 0 30px;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof-list {
        margin: 0 0 0 30px;
        padding: 0;
    }
}

#contents .about-sec01__prof-items01 {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 500;
    list-style: none;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof-items01 {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 1.2;
        font-weight: 500;
        list-style: none;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof-items01 {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 1.2;
        font-weight: 500;
        list-style: none;
    }
}

#contents .about-sec01__prof-items01 .name {
    margin-bottom: 10px;
    font-size: 12px;
    font-size: 1.2rem;
    display: block;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof-items01 .name {
        margin-bottom: 0;
        font-size: 19px;
        font-size: 1.9rem;
        display: inline-block;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof-items01 .name {
        margin-bottom: 0;
        font-size: 19px;
        font-size: 1.9rem;
        display: inline-block;
    }
}

#contents .about-sec01__prof-items02 {
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof-items02 {
        margin: 0 0 20px 0;
        padding: 0;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.2;
        font-weight: 300;
        list-style: none;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof-items02 {
        margin: 0 0 20px 0;
        padding: 0;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.2;
        font-weight: 300;
        list-style: none;
    }
}

#contents .about-sec01__prof-items03 {
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    #contents .about-sec01__prof-items03 {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.2;
        font-weight: 300;
        list-style: none;
    }
}

@media (min-width: 1200px) {
    #contents .about-sec01__prof-items03 {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.2;
        font-weight: 300;
        list-style: none;
    }
}

/* -----------------------------------------------------------------------
  service.css
----------------------------------------------------------------------- */
#contents {
    /* -------------------------------- 
    section service kv
  ----------------------------------- */
    /* -------------------------------- 
    section sec01&sec02
  ----------------------------------- */
    /* -------------------------------- 
    section seccv
  ----------------------------------- */
}

#contents .service-kv {
    width: 100%;
    margin: 0 auto;
    background-color: #000;
    animation: fadeIn 4s linear 0s 1 normal;
}

@media (min-width: 768px) {
    #contents .service-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #000;
        animation: fadeIn 4s linear 0s 1 normal;
    }
}

@media (min-width: 1200px) {
    #contents .service-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #000;
        animation: fadeIn 4s linear 0s 1 normal;
    }
}

#contents .service-kv__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    padding: 70px 0 250px 0;
    box-sizing: border-box;
}

#contents .service-kv__container::before {
    display: none;
}

@media (min-width: 768px) {
    #contents .service-kv__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 30px 0 92px 4px;
        box-sizing: border-box;
    }

    #contents .service-kv__container::before {
        position: absolute;
        left: 10px;
        top: 135px;
        z-index: -1;
        width: 100%;
        content: "Our Service";
        font-size: 125px;
        font-size: 12.5rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 900;
        color: #323232;
        display: block;
    }

    #contents .works-kva__container::before {
        content: "Our Works";
    }
}

@media (min-width: 1200px) {
    #contents .service-kv__container {
        position: relative;
        max-width: 1100px;
        margin: 0 auto;
        padding: 60px 0 141px 60px;
        box-sizing: border-box;
    }

    #contents .service-kv__container::before {
        position: absolute;
        left: 50px;
        top: 220px;
        z-index: -1;
        width: 100%;
        content: "Our Service";
        font-size: 178px;
        font-size: 17.8rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 900;
        color: #323232;
        display: block;
    }

    #contents .works-kva__container::before {
        content: "Our Works";
    }


}

#contents .service-kv__container-tit {
    margin: 0;
    padding: 0;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .service-kv__container-tit {
        margin: 0;
        padding: 0;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .service-kv__container-tit {
        margin: 0;
        padding: 0;
        color: #fff;
    }
}

#contents .service-kv__container-tit .en {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 71px;
    font-size: 7.1rem;
    line-height: 1;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .service-kv__container-tit .en {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 65px;
        font-size: 6.5rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .service-kv__container-tit .en {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 71px;
        font-size: 7.1rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

#contents .service-kv__container-tit .utxt {
    margin: 0 0 80px 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .service-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .service-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

#contents .service-kv__container-txt {
    margin: 45px 0 0 0;
    padding: 0;
    font-size: 19px;
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 2.2;
    color: #fff;
}

@media (min-width: 768px) {
    #contents .service-kv__container-txt {
        margin: 45px 0 0 0;
        padding: 0;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 900;
        line-height: 1.7;
        color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .service-kv__container-txt {
        margin: 100px 0 0 0;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 900;
        line-height: 1.8;
        color: #fff;
    }
}

#contents .service-sec01,
#contents .service-sec02 {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

@media (min-width: 768px) {

    #contents .service-sec01,
    #contents .service-sec02 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01,
    #contents .service-sec02 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

#contents .service-sec01__container,
#contents .service-sec02__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    padding: 70px 0 40px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {

    #contents .service-sec01__container,
    #contents .service-sec02__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 40px 0 50px 20px;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__container,
    #contents .service-sec02__container {
        max-width: 1100px;
        margin: 0 auto 0 auto;
        padding: 130px 0 100px 45px;
        box-sizing: border-box;
    }
}

#contents .service-sec01__header,
#contents .service-sec02__header {
    margin: 0 0 35px 0;
    padding: 0;
}

@media (min-width: 768px) {

    #contents .service-sec01__header,
    #contents .service-sec02__header {
        margin: 0 0 35px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__header,
    #contents .service-sec02__header {
        margin: 0 0 80px 0;
        padding: 0;
    }
}

#contents .service-sec01__header-tit,
#contents .service-sec02__header-tit {
    margin: 0;
    padding: 5px 0 20px 15px;
    border-left: 10px solid #000;
    font-size: 57px;
    font-size: 5.7rem;
    font-weight: 900;
    line-height: 1;
    box-sizing: border-box;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__header-tit,
    #contents .service-sec02__header-tit {
        margin: 0;
        padding: 10px 0 15px 35px;
        border-left: 16px solid #000;
        font-size: 62px;
        font-size: 6.2rem;
        font-weight: 900;
        line-height: 1;
        box-sizing: border-box;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__header-tit,
    #contents .service-sec02__header-tit {
        margin: 0;
        padding: 10px 0 15px 35px;
        border-left: 16px solid #000;
        font-size: 80px;
        font-size: 8rem;
        font-weight: 900;
        line-height: 1;
        box-sizing: border-box;
        color: #000;
    }

}

@media (min-width: 768px) {

    #contents .service-sec01__body,
    #contents .service-sec02__body {
        margin: 0;
        padding: 0 0 0 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__body,
    #contents .service-sec02__body {
        margin: 0;
        padding: 0 0 0 45px;
    }
}

#contents .service-sec01__body-toptxt,
#contents .service-sec02__body-toptxt {
    margin: 0 0 50px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.9;
    color: #000;
    box-sizing: border-box;
}

@media (min-width: 768px) {

    #contents .service-sec01__body-toptxt,
    #contents .service-sec02__body-toptxt {
        max-width: 686px;
        margin: 0 auto 80px 20px;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        color: #000;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__body-toptxt,
    #contents .service-sec02__body-toptxt {
        max-width: 914px;
        margin: 0 auto 120px 0;
        padding: 0;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1.5;
        text-align: center;
        color: #000;
        box-sizing: border-box;
    }
}

#contents .service-sec01__body-midtxt,
#contents .service-sec02__body-midtxt {
    margin: 0 0 80px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__body-midtxt,
    #contents .service-sec02__body-midtxt {
        margin: 0 0 90px 20px;
        padding: 0;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 2;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__body-midtxt,
    #contents .service-sec02__body-midtxt {
        margin: 0 0 140px 0;
        padding: 0;
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 2;
        color: #000;
    }
}

#contents .service-sec01__body .picture,
#contents .service-sec02__body .picture {
    max-width: 337px;
    margin: 0 0 40px 0;
    padding: 0;
    display: block;
    box-sizing: border-box;
}

@media (min-width: 768px) {

    #contents .service-sec01__body .picture,
    #contents .service-sec02__body .picture {
        max-width: 686px;
        margin: 0 0 40px 20px;
        padding: 0;
        display: block;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__body .picture,
    #contents .service-sec02__body .picture {
        max-width: 914px;
        margin: 0 0 65px 0;
        padding: 0;
        display: block;
        box-sizing: border-box;
    }
}

#contents .service-sec01__process,
#contents .service-sec02__process {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {

    #contents .service-sec01__process,
    #contents .service-sec02__process {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__process,
    #contents .service-sec02__process {
        margin: 0;
        padding: 0;
    }
}

#contents .service-sec01__psheader,
#contents .service-sec02__psheader {
    margin: 0 0 60px 0;
    padding: 0;
}

@media (min-width: 768px) {

    #contents .service-sec01__psheader,
    #contents .service-sec02__psheader {
        margin: 0 0 90px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psheader,
    #contents .service-sec02__psheader {
        margin: 0 0 90px 0;
        padding: 0;
    }
}

#contents .service-sec01__psheader-tit,
#contents .service-sec02__psheader-tit {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.4;
    font-weight: 700;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__psheader-tit,
    #contents .service-sec02__psheader-tit {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.2;
        font-weight: 700;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psheader-tit,
    #contents .service-sec02__psheader-tit {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.2;
        font-weight: 700;
        color: #000;
    }
}

#contents .service-sec01__psheader-txt,
#contents .service-sec02__psheader-txt {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__psheader-txt,
    #contents .service-sec02__psheader-txt {
        margin: 0;
        padding: 0;
        font-size: 19px;
        font-size: 1.9rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psheader-txt,
    #contents .service-sec02__psheader-txt {
        margin: 0;
        padding: 0;
        font-size: 19px;
        font-size: 1.9rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }
}

#contents .service-sec01__psstep,
#contents .service-sec02__psstep {
    position: relative;
    max-width: 100%;
    border-left: 2px dashed #000;
    margin: 0 0 50px 10px;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep,
    #contents .service-sec02__psstep {
        position: relative;
        max-width: 100%;
        border-left: 2px dashed #000;
        margin: 0 0 50px 0;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep,
    #contents .service-sec02__psstep {
        position: relative;
        max-width: 713px;
        border-left: 2px dashed #000;
        margin: 0 0 50px 100px;
        padding: 0;
        box-sizing: border-box;
    }
}

#contents .service-sec01__psstep-num,
#contents .service-sec02__psstep-num {
    position: absolute;
    left: -18px;
    top: -20px;
    width: auto;
    margin: 0;
    padding: 0 0 20px 0;
    font-size: 60px;
    font-size: 6rem;
    font-weight: 500;
    line-height: 1;
    background-color: #fff;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-num,
    #contents .service-sec02__psstep-num {
        position: absolute;
        left: -18px;
        top: -15px;
        width: auto;
        margin: 0;
        padding: 0 0 20px 0;
        font-size: 60px;
        font-size: 6rem;
        font-weight: 500;
        line-height: 1;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-num,
    #contents .service-sec02__psstep-num {
        position: absolute;
        left: -19px;
        top: -15px;
        width: auto;
        margin: 0;
        padding: 0 0 20px 0;
        font-size: 60px;
        font-size: 6rem;
        font-weight: 500;
        line-height: 1;
        background-color: #fff;
    }
}

#contents .service-sec01__psstep-tit,
#contents .service-sec02__psstep-tit {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-tit,
    #contents .service-sec02__psstep-tit {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 29px;
        font-size: 2.9rem;
        font-weight: 700;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-tit,
    #contents .service-sec02__psstep-tit {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 29px;
        font-size: 2.9rem;
        font-weight: 700;
        line-height: 1.2;
        color: #000;
    }
}

#contents .service-sec01__psstep-box,
#contents .service-sec02__psstep-box {
    margin: 0;
    padding: 0 0 50px 25px;
    box-sizing: border-box;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box,
    #contents .service-sec02__psstep-box {
        margin: 0;
        padding: 0 0 50px 45px;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box,
    #contents .service-sec02__psstep-box {
        margin: 0;
        padding: 0 0 50px 45px;
        box-sizing: border-box;
    }
}

#contents .service-sec01__psstep-box.bgnum0101,
#contents .service-sec02__psstep-box.bgnum0101 {
    background-image: url(../images/service/sec01/img_icon01_01.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 84px 23px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0101,
    #contents .service-sec02__psstep-box.bgnum0101 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0101,
    #contents .service-sec02__psstep-box.bgnum0101 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

#contents .service-sec01__psstep-box.bgnum0102,
#contents .service-sec02__psstep-box.bgnum0102 {
    background-image: url(../images/service/sec01/img_icon01_02.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 84px 23px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0102,
    #contents .service-sec02__psstep-box.bgnum0102 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0102,
    #contents .service-sec02__psstep-box.bgnum0102 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

#contents .service-sec01__psstep-box.bgnum0103,
#contents .service-sec02__psstep-box.bgnum0103 {
    background-image: url(../images/service/sec01/img_icon01_03.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 84px 23px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0103,
    #contents .service-sec02__psstep-box.bgnum0103 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0103,
    #contents .service-sec02__psstep-box.bgnum0103 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

#contents .service-sec01__psstep-box.bgnum0104,
#contents .service-sec02__psstep-box.bgnum0104 {
    background-image: url(../images/service/sec01/img_icon01_04.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 84px 23px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0104,
    #contents .service-sec02__psstep-box.bgnum0104 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0104,
    #contents .service-sec02__psstep-box.bgnum0104 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 131px 35px;
    }
}

#contents .service-sec01__psstep-box.bgnum0105,
#contents .service-sec02__psstep-box.bgnum0105 {
    background-image: url(../images/service/sec01/img_icon01_05.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 84px 23px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0105,
    #contents .service-sec02__psstep-box.bgnum0105 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 132px 35px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0105,
    #contents .service-sec02__psstep-box.bgnum0105 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 132px 35px;
    }
}

#contents .service-sec01__psstep-box.bgnum0201,
#contents .service-sec02__psstep-box.bgnum0201 {
    background-image: url(../images/service/sec02/img_icon01_01.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 72px 12px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0201,
    #contents .service-sec02__psstep-box.bgnum0201 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0201,
    #contents .service-sec02__psstep-box.bgnum0201 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

#contents .service-sec01__psstep-box.bgnum0202,
#contents .service-sec02__psstep-box.bgnum0202 {
    background-image: url(../images/service/sec02/img_icon01_02.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 72px 12px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0202,
    #contents .service-sec02__psstep-box.bgnum0202 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0202,
    #contents .service-sec02__psstep-box.bgnum0202 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

#contents .service-sec01__psstep-box.bgnum0203,
#contents .service-sec02__psstep-box.bgnum0203 {
    background-image: url(../images/service/sec02/img_icon01_03.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 72px 12px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0203,
    #contents .service-sec02__psstep-box.bgnum0203 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0203,
    #contents .service-sec02__psstep-box.bgnum0203 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

#contents .service-sec01__psstep-box.bgnum0204,
#contents .service-sec02__psstep-box.bgnum0204 {
    background-image: url(../images/service/sec02/img_icon01_04.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 72px 12px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0204,
    #contents .service-sec02__psstep-box.bgnum0204 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0204,
    #contents .service-sec02__psstep-box.bgnum0204 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

#contents .service-sec01__psstep-box.bgnum0205,
#contents .service-sec02__psstep-box.bgnum0205 {
    background-image: url(../images/service/sec02/img_icon01_05.svg);
    background-repeat: no-repeat;
    background-position: right 96%;
    background-size: 72px 12px;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-box.bgnum0205,
    #contents .service-sec02__psstep-box.bgnum0205 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-box.bgnum0205,
    #contents .service-sec02__psstep-box.bgnum0205 {
        background-repeat: no-repeat;
        background-position: right 82%;
        background-size: 130px 21px;
    }
}

#contents .service-sec01__psstep-txt,
#contents .service-sec02__psstep-txt {
    margin: 0 0 50px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-txt,
    #contents .service-sec02__psstep-txt {
        margin: 0 0 50px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 500;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-txt,
    #contents .service-sec02__psstep-txt {
        margin: 0 0 50px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
        font-weight: 500;
        color: #000;
    }
}

#contents .service-sec01__psstep-list,
#contents .service-sec02__psstep-list {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-list,
    #contents .service-sec02__psstep-list {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-list,
    #contents .service-sec02__psstep-list {
        margin: 0;
        padding: 0;
    }
}

#contents .service-sec01__psstep-items,
#contents .service-sec02__psstep-items {
    margin: 0 0 12px 0;
    padding: 0 0 0 1em;
    text-indent: -1em;
    list-style: none;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
}

#contents .service-sec01__psstep-items:last-child,
#contents .service-sec02__psstep-items:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-items,
    #contents .service-sec02__psstep-items {
        margin: 0 0 12px 0;
        padding: 0 0 0 1em;
        text-indent: -1em;
        list-style: none;
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }

    #contents .service-sec01__psstep-items:last-child,
    #contents .service-sec02__psstep-items:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-items,
    #contents .service-sec02__psstep-items {
        margin: 0 0 12px 0;
        padding: 0 0 0 1em;
        text-indent: -1em;
        list-style: none;
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.2;
        color: #000;
    }

    #contents .service-sec01__psstep-items:last-child,
    #contents .service-sec02__psstep-items:last-child {
        margin-bottom: 0;
    }
}

#contents .service-sec01__psstep-bottxt,
#contents .service-sec02__psstep-bottxt {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    color: #000;
}

@media (min-width: 768px) {

    #contents .service-sec01__psstep-bottxt,
    #contents .service-sec02__psstep-bottxt {
        margin: 0 0 0 0;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.5;
        color: #000;
    }
}

@media (min-width: 1200px) {

    #contents .service-sec01__psstep-bottxt,
    #contents .service-sec02__psstep-bottxt {
        margin: 0 0 0 100px;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.5;
        color: #000;
    }
}

#contents .service-seccv {
    width: 100%;
    margin: 0 auto;
    background-color: #EFEFEF;
}

@media (min-width: 768px) {
    #contents .service-seccv {
        width: 100%;
        margin: 0 auto;
        background-color: #EFEFEF;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv {
        width: 100%;
        margin: 0 auto;
        background-color: #EFEFEF;
    }
}

#contents .service-seccv__container {
    position: relative;
    max-width: 313px;
    margin: 0 auto;
    padding: 50px 0 70px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .service-seccv__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 60px 0 70px 20px;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__container {
        max-width: 1100px;
        margin: 0 auto 0 auto;
        padding: 80px 0 100px 90px;
        box-sizing: border-box;
    }
}

#contents .service-seccv__header {
    margin: 0 auto 30px auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .service-seccv__header {
        margin: 0 auto 40px auto;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__header {
        margin: 0 auto 40px auto;
        padding: 0;
    }
}

#contents .service-seccv__header-tit {
    margin: 0;
    padding: 0 0 0 0;
    font-size: 29px;
    font-size: 2.9rem;
    line-height: 1;
    box-sizing: border-box;
    color: #000;
}

@media (min-width: 768px) {
    #contents .service-seccv__header-tit {
        margin: 0;
        padding: 0 0 0 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1;
        box-sizing: border-box;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__header-tit {
        margin: 0;
        padding: 0 0 0 0;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1;
        box-sizing: border-box;
        color: #000;
    }
}

#contents .service-seccv__body {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .service-seccv__body {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__body {
        margin: 0;
        padding: 0;
    }
}

#contents .service-seccv__body-list {
    max-width: 100%;
    margin: 0 0 50px 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .service-seccv__body-list {
        max-width: 930px;
        margin: 0 0 50px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__body-list {
        max-width: 970px;
        margin: 0 0 50px 0;
        padding: 0;
    }
}

#contents .service-seccv__body-items {
    margin: 0 0 15px 0;
    padding: 0 0 0 1em;
    text-indent: -1em;
    list-style: none;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    color: #000;
}

@media (min-width: 768px) {
    #contents .service-seccv__body-items {
        margin: 0 0 15px 0;
        padding: 0 0 0 1em;
        text-indent: -1em;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__body-items {
        margin: 0 0 15px 0;
        padding: 0 0 0 1em;
        text-indent: -1em;
        list-style: none;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 768px) {
    #contents .service-seccv__body-btn {
        margin-left: auto;
    }
}

@media (min-width: 1200px) {
    #contents .service-seccv__body-btn {
        margin-left: -90px;
    }
}

/* -----------------------------------------------------------------------
  works.css
----------------------------------------------------------------------- */
#contents {
    /* -------------------------------- 
    section works kv
  ----------------------------------- */
    /* -------------------------------- 
    section sec01
  ----------------------------------- */
    /* -------------------------------- 
    section sec02
  ----------------------------------- */
}

#contents .works-kv {
    width: 100%;
    margin: 0 auto;
    background-color: transparent;
}

@media (min-width: 768px) {
    #contents .works-kv {
        width: 100%;
        margin: 0 auto;
        background-color: transparent;
    }
}

@media (min-width: 1200px) {
    #contents .works-kv {
        width: 100%;
        margin: 0 auto;
        background-color: transparent;
    }
}

#contents .works-kv__container {
    max-width: 100%;
    max-height: 813px;
    margin: 0 auto;
    margin-top: -140px;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

@media (min-width: 768px) {
    #contents .works-kv__container {
        max-width: 100%;
        margin-top: -110px;
        max-height: 535px;
        box-sizing: border-box;
        overflow: hidden;
    }
}

@media (min-width: 1200px) {
    #contents .works-kv__container {
        max-width: 100%;
        max-height: 760px;
        margin-top: -110px;
        box-sizing: border-box;
        overflow: hidden;
    }
}

#contents .works-kv__kvimg {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

#contents .works-kv .swiper-wrapper .swiper-slide {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 812px;
}

#contents .works-av-sec01__body {
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: auto;
}

.works-inner {
    width: 43%;
    margin-right: 3.5%;
    margin-bottom: 60px;
    overflow: hidden;
}

#contents .works-av-sec01__body .picture {
    height: 179px;
    margin: 0;
    overflow: hidden;
}

.works-av__title {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 1px;
    margin: 6px 0 12px 0;
    border-left: 6px solid #000;
    padding-left: 14px;

}

a:-webkit-any-link {
    text-decoration: none;
}

@media (max-width: 767px) {
    #contents .works-av-sec01__body {
        display: block;
        max-width: 327px;
        margin: auto;
    }

    .works-inner {
        width: 100%;
        margin-bottom: 40px;
    }
}

@media (min-width: 768px) {
    #contents .works-kv .swiper-wrapper .swiper-slide {
        height: 535px;
    }

    #contents .works-av-sec01__body {
        max-width: 728px;
    }

    #contents .works-av-sec01__body .picture {
        height: 179px;
        margin: 0;
    }

}

@media (min-width: 1200px) {
    #contents .works-kv .swiper-wrapper .swiper-slide {
        height: 790px;
    }

    #contents .works-av-sec01__body {
        max-width: 1080px;
    }

    #contents .works-av-sec01__body .picture {
        height: 252px;
    }

}

#contents .works-sec01 {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

@media (min-width: 768px) {
    #contents .works-sec01 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

#contents .works-sec01__container {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 0 40px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .works-sec01__container {
        max-width: 100%;
        margin: 0 auto;
        padding: 60px 0 0 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 90px 0 0 0;
        box-sizing: border-box;
    }
}

#contents .works-sec01__header {
    max-width: 320px;
    margin: 0 auto 40px auto;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .works-sec01__header {
        max-width: 728px;
        margin: 0 auto 75px auto;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__header {
        max-width: 890px;
        margin: 0 auto 75px auto;
        padding: 0 0 0 0;
        box-sizing: border-box;
    }
}

#contents .works-sec01__header-tit {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.2;
    font-weight: 900;
    color: #000;
}

@media (min-width: 768px) {
    #contents .works-sec01__header-tit {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 50px;
        font-size: 5rem;
        line-height: 1.2;
        font-weight: 900;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__header-tit {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 50px;
        font-size: 5rem;
        line-height: 1.2;
        font-weight: 900;
        color: #000;
    }
}

#contents .works-sec01__header-txt {
    margin: 0 0 30px 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    color: #000;
}

@media (min-width: 768px) {
    #contents .works-sec01__header-txt {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__header-txt {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
        color: #000;
    }
}

#contents .works-sec01__header-utxt {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7;
    color: #000;
    word-break: break-all;
}

@media (min-width: 768px) {
    #contents .works-sec01__header-utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2.1;
        color: #000;
        word-break: break-all;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__header-utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2.1;
        color: #000;
        word-break: break-all;
    }
}

#contents .works-sec01__body {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .works-sec01__body {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body {
        margin: 0;
        padding: 0;
    }
}

#contents .works-sec01__body .picture {
    margin: 0 0 50px 0;
    padding: 0;
}

#contents .works-sec01__body .picture:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    #contents .works-sec01__body .picture {
        margin: 0 0 50px 0;
        padding: 0;
    }

    #contents .works-sec01__body .picture:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body .picture {
        margin: 0 0 50px 0;
        padding: 0;
    }

    #contents .works-sec01__body .picture:last-child {
        margin-bottom: 0;
    }
}

#contents .works-sec01__body-txtwrap {
    max-width: 310px;
    margin: 0 auto 50px auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-txtwrap {
        max-width: 728px;
        margin: 0 auto 50px auto;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-txtwrap {
        max-width: 890px;
        margin: 0 auto 50px auto;
        padding: 0 0 0 0;
    }
}

#contents .works-sec01__body-tit {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
    color: #000;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-tit {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-tit {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 26px;
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1.2;
        color: #000;
    }
}

#contents .works-sec01__body-txt {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1.7;
    color: #000;
    word-break: break-all;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-txt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 2;
        color: #000;
        word-break: break-all;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-txt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 2;
        color: #000;
        word-break: break-all;
    }
}

#contents .works-sec01__body-gallery {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-gallery {
        max-width: 768px;
        margin: 0 auto;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-gallery {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0;
    }
}

#contents .works-sec01__body-gallery .inr {
    max-width: 310px;
    margin: 0 auto 10px auto;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-gallery .inr {
        max-width: 728px;
        margin: 0 auto 50px auto;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-gallery .inr {
        max-width: 890px;
        margin: 0 auto 50px auto;
    }
}

#contents .works-sec01__body-gallery .picture {
    margin: 0 0 40px 0;
    padding: 0;
}

#contents .works-sec01__body-gallery .picture:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    #contents .works-sec01__body-gallery .picture {
        margin: 0 0 40px 0;
        padding: 0;
    }

    #contents .works-sec01__body-gallery .picture:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec01__body-gallery .picture {
        margin: 0 0 80px 0;
        padding: 0;
    }

    #contents .works-sec01__body-gallery .picture:last-child {
        margin-bottom: 0;
    }
}

#contents .works-sec02 {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

@media (min-width: 768px) {
    #contents .works-sec02 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

#contents .works-sec02__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto 100px auto;
    padding: 50px 0 45px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .works-sec02__container {
        max-width: 728px;
        margin: 0 auto 100px auto;
        padding: 80px 0 80px 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__container {
        max-width: 1100px;
        margin: 0 auto 100px auto;
        padding: 90px 0 50px 0;
        box-sizing: border-box;
    }
}

#contents .works-sec02__header {
    margin: 0 auto 20px auto;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .works-sec02__header {
        margin: 0 auto 20px auto;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__header {
        margin: 0 auto 50px auto;
        padding: 0;
        box-sizing: border-box;
    }
}

#contents .works-sec02__header-tit {
    margin: 0 auto 0 auto;
    padding: 0;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
    text-align: left;
}

@media (min-width: 768px) {
    #contents .works-sec02__header-tit {
        margin: 0 auto 60px auto;
        padding: 0;
        font-size: 50px;
        font-size: 5rem;
        font-weight: 900;
        line-height: 1;
        text-align: center;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__header-tit {
        margin: 0 auto 0 auto;
        padding: 0;
        font-size: 50px;
        font-size: 5rem;
        font-weight: 900;
        line-height: 1;
        text-align: center;
    }
}

#contents .works-sec02__header-txt {
    margin: 0 auto;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
    color: #000;
}

@media (min-width: 768px) {
    #contents .works-sec02__header-txt {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__header-txt {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
        color: #000;
    }
}

@media (min-width: 768px) {
    #contents .works-sec02__header-utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2.1;
        color: #000;
        word-break: break-all;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__header-utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 2.1;
        color: #000;
        word-break: break-all;
    }
}

#contents .works-sec02__body {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .works-sec02__body {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__body {
        margin: 0;
        padding: 0;
    }
}

#contents .works-sec02__linkwrap {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
}

#contents .works-sec02__linkwrap-btnPrev {
    margin: 0;
    padding: 0;
    display: none;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-btnPrev {
        margin: 0 0 0 auto;
        padding: 0 0px 0 0;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-btnPrev {
        margin: 0 0 0 auto;
        padding: 0 30px 0 0;
        display: block;
    }
}

#contents .works-sec02__linkwrap-btnNext {
    margin: 0;
    padding: 0;
    display: none;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-btnNext {
        margin: 0 auto 0 0;
        padding: 0 0 0 0px;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-btnNext {
        margin: 0 auto 0 0;
        padding: 0 0 0 30px;
        display: block;
    }
}

#contents .works-sec02__linkwrap-link {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.3;
    text-decoration: none;
    color: #000;
}

#contents .works-sec02__linkwrap-link:hover {
    color: rgba(0, 0, 0, 0.7);
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-link {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 900;
        line-height: 1.3;
        text-decoration: none;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-link {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 900;
        line-height: 1.3;
        text-decoration: none;
        color: #000;
    }
}

#contents .works-sec02__linkwrap-thumbwrap {
    max-width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-thumbwrap {
        max-width: 546px;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-thumbwrap {
        max-width: 782px;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

#contents .works-sec02__linkwrap-thumb {
    max-width: 310px;
    margin: 0 auto 30px auto;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-thumb {
        max-width: 161px;
        margin: 0 11px 0 11px;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-thumb {
        max-width: 236px;
        margin: 0 11px 0 11px;
        padding: 0;
        box-sizing: border-box;
    }
}

#contents .works-sec02__linkwrap-thumblink {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-thumblink {
        text-decoration: none;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-thumblink {
        text-decoration: none;
    }
}

#contents .works-sec02__linkwrap-thumblink .picture {
    max-width: 310px;
    height: auto;
    overflow: hidden;
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-thumblink .picture {
        max-width: 348px;
        height: auto;
        overflow: hidden;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-thumblink .picture {
        max-width: 516px;
        height: auto;
        overflow: hidden;
    }
}

#contents .works-sec02__linkwrap-thumblink img {
    transition: 0.5s;
}

#contents .works-sec02__linkwrap-thumblink:hover img {
    transform: scale(1.1);
}

#contents .works-sec02__linkwrap-cap {
    margin: 15px 0 0 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 500;
    color: #000;
    display: block;
}

#contents .works-sec02__linkwrap-cap:hover {
    color: rgba(0, 0, 0, 0.8);
}

@media (min-width: 768px) {
    #contents .works-sec02__linkwrap-cap {
        margin: 15px 0 0 0;
        padding: 0;
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.3;
        font-weight: 500;
        color: #000;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__linkwrap-cap {
        margin: 15px 0 0 0;
        padding: 0;
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.3;
        font-weight: 500;
        color: #000;
        display: block;
    }
}

#contents .works-sec02__morebtn {
    margin: 33px auto 0 auto;
    padding: 0;
}

#contents .works-sec02__morebtn .btn__secondary {
    width: 275px;
    height: 56px;
}

@media (min-width: 768px) {
    #contents .works-sec02__morebtn {
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
}

@media (min-width: 1200px) {
    #contents .works-sec02__morebtn {
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
}

/* -----------------------------------------------------------------------
  inquiry.css
----------------------------------------------------------------------- */
#contents {
    /* -------------------------------- 
    section inquiry kv
  ----------------------------------- */
    /* -------------------------------- 
    section sec01
  ----------------------------------- */
}

#contents .inquiry-kv {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    animation: fadeIn 2s linear 0s 1 normal;
}

@media (min-width: 768px) {
    #contents .inquiry-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
        animation: fadeIn 2s linear 0s 1 normal;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
        animation: fadeIn 2s linear 0s 1 normal;
    }
}

#contents .inquiry-kv__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto;
    padding: 70px 0 150px 0;
    box-sizing: border-box;
}

#contents .inquiry-kv__container::before {
    display: none;
}

@media (min-width: 768px) {
    #contents .inquiry-kv__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 35px 0 90px 0;
        box-sizing: border-box;
    }

    #contents .inquiry-kv__container::before {
        position: absolute;
        left: 20px;
        top: 134px;
        z-index: -1;
        width: 100%;
        content: "Thank you";
        font-size: 142px;
        font-size: 14.2rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 700;
        color: #EAEAEA;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv__container {
        position: relative;
        max-width: 1100px;
        margin: 0 auto;
        padding: 60px 0 90px 100px;
        box-sizing: border-box;
    }

    #contents .inquiry-kv__container::before {
        position: absolute;
        left: 90px;
        top: 170px;
        z-index: -1;
        width: 100%;
        content: "Thank you";
        font-size: 178px;
        font-size: 17.8rem;
        letter-spacing: -1px;
        line-height: 1;
        font-weight: 700;
        color: #EAEAEA;
        display: block;
    }
}

#contents .inquiry-kv__container-tit {
    margin: 0;
    padding: 0;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-kv__container-tit {
        margin: 0 0 0 -2px;
        padding: 0;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv__container-tit {
        margin: 0;
        padding: 0;
        color: #000;
    }
}

#contents .inquiry-kv__container-tit .en {
    margin: 0 0 15px 0;
    padding: 0;
    font-size: 71px;
    font-size: 7.1rem;
    line-height: 1;
    font-weight: 900;
    display: block;
}

@media (min-width: 768px) {
    #contents .inquiry-kv__container-tit .en {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 65px;
        font-size: 6.5rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv__container-tit .en {
        margin: 0 0 15px 0;
        padding: 0;
        font-size: 71px;
        font-size: 7.1rem;
        line-height: 1;
        font-weight: 900;
        display: block;
    }
}

#contents .inquiry-kv__container-tit .utxt {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .inquiry-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv__container-tit .utxt {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1;
        font-weight: 500;
        display: block;
    }
}

#contents .inquiry-kv__container-txt {
    margin: 65px 0 0 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2;
    font-weight: 500;
    display: block;
}

@media (min-width: 768px) {
    #contents .inquiry-kv__container-txt {
        margin: 65px 0 0 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2;
        font-weight: 500;
        display: block;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-kv__container-txt {
        margin: 85px 0 0 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2;
        font-weight: 500;
        display: block;
    }
}

#contents .inquiry-sec01 {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    /*parts*/
    /*
      #error__msg{
        //margin-top: -350px;
        //padding-top: 350px;
        //display: block;
      }
      .error{
        &__msg{
          max-width: 780px;
          margin: 0 auto 40px auto;
          padding: 0 0 0 0;
          border: 2px solid #000;
          background-color: #fff;
          border-radius: 2px;
          animation: fadeIn 1s both; 
        }
        &__tit{
          margin: 0;
          padding: 10px 10px 10px 10px;
          background-color: #000;
          @include font-rem(1.6);
          color: #fff;

          .fa-exclamation-triangle{
            color: #f5c744;
          }
        }
        &__list{
          margin: 0;
          padding: 15px 15px 15px 15px;
          @include font-rem(1.4);
          font-weight: bold;
          line-height: 1.8;
          color: #000;
        }
        &__items{
          margin: 0;
          padding: 0;
          list-style: none;
        }
      }
  */
}

@media (min-width: 768px) {
    #contents .inquiry-sec01 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01 {
        width: 100%;
        margin: 0 auto;
        background-color: #fff;
    }
}

#contents .inquiry-sec01__container {
    position: relative;
    max-width: 320px;
    margin: 0 auto 0 auto;
    padding: 0 0 100px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__container {
        max-width: 728px;
        margin: 0 auto;
        padding: 0 0 0 0;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__container {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 0 0 50px;
        box-sizing: border-box;
    }
}

#contents .inquiry-sec01__formwrap {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formwrap {
        margin: 0 0 0 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formwrap {
        margin: 0 0 0 125px;
        padding: 0;
    }
}

#contents .inquiry-sec01__formwrap-tit {
    margin: 0 0 35px 0;
    padding: 0;
    font-size: 30px;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formwrap-tit {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 30px;
        font-size: 3rem;
        font-weight: 700;
        line-height: 1;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formwrap-tit {
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 30px;
        font-size: 3rem;
        font-weight: 700;
        line-height: 1;
        color: #000;
    }
}

#contents .inquiry-sec01__formgroup {
    max-width: 100%;
    margin: 0 0 50px 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formgroup {
        max-width: 738px;
        margin: 0 0 70px 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formgroup {
        max-width: 738px;
        margin: 0 0 70px 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

#contents .inquiry-sec01__formgroup-tit {
    width: 100%;
    margin: 0 0 10px 0;
    padding: 15px 0 0 0;
    font-size: 15px;
    font-size: 1.5rem;
    font-variant: 300;
    line-height: 1.4;
    color: #000;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formgroup-tit {
        width: 200px;
        margin: 0 0 40px 0;
        padding: 15px 0 0 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-variant: 300;
        line-height: 1.4;
        color: #000;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formgroup-tit {
        width: 200px;
        margin: 0 0 40px 0;
        padding: 15px 0 0 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-variant: 300;
        line-height: 1.4;
        color: #000;
        box-sizing: border-box;
    }
}

#contents .inquiry-sec01__formgroup-box {
    width: calc(100%);
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    font-variant: 300;
    line-height: 1;
    color: #000;
}

#contents .inquiry-sec01__formgroup-box:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formgroup-box {
        width: calc(100% - 200px);
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-variant: 300;
        line-height: 1;
        color: #000;
    }

    #contents .inquiry-sec01__formgroup-box:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formgroup-box {
        width: calc(100% - 200px);
        margin: 0 0 40px 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        font-variant: 300;
        line-height: 1;
        color: #000;
    }

    #contents .inquiry-sec01__formgroup-box:last-child {
        margin-bottom: 0;
    }
}

#contents .inquiry-sec01__formgroup-confirmtxt {
    margin: 15px 0 auto 0;
    padding: 0;
    line-height: 1.6;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__formgroup-confirmtxt {
        margin: 15px 0 auto 0;
        line-height: 1.6;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__formgroup-confirmtxt {
        margin: 15px 0 auto 0;
        line-height: 1.6;
    }
}

#contents .inquiry-sec01__check-list {
    margin: 15px 0 20px 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__check-list {
        margin: 15px 0 20px 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__check-list {
        margin: 15px 0 20px 0;
        padding: 0;
    }
}

#contents .inquiry-sec01__check-items {
    margin: 0 0 30px 0;
    padding: 0;
    list-style: none;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    color: #000;
    display: block;
}

#contents .inquiry-sec01__check-items:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__check-items {
        margin: 0 0 30px 0;
        padding: 0;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #000;
        display: block;
    }

    #contents .inquiry-sec01__check-items:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__check-items {
        margin: 0 0 30px 0;
        padding: 0;
        list-style: none;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #000;
        display: block;
    }

    #contents .inquiry-sec01__check-items:last-child {
        margin-bottom: 0;
    }
}

#contents .inquiry-sec01__btngroup-single {
    max-width: 320px;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__btngroup-single {
        max-width: 738px;
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__btngroup-single {
        max-width: 738px;
        margin: 0;
        padding: 0;
    }
}

#contents .inquiry-sec01__btngroup-single .btn__primary {
    margin-right: 0;
    cursor: pointer;
}

#contents .inquiry-sec01__btngroup-double {
    max-width: 320px;
    margin: 0 0 50px 0;
    padding: 0;
}

#contents .inquiry-sec01__btngroup-double .inline {
    width: calc(100%);
    display: inline-block;
}

#contents .inquiry-sec01__btngroup-double .inline:nth-child(1) {
    margin-right: 0;
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__btngroup-double .inline:nth-child(1) {
        margin-right: 10px;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__btngroup-double .inline:nth-child(1) {
        margin-right: 10px;
    }
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__btngroup-double .inline {
        width: calc(50% - 30px);
        display: inline-block;
        margin-bottom: 15px;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__btngroup-double .inline {
        width: calc(50% - 30px);
        display: inline-block;
    }
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__btngroup-double {
        max-width: 738px;
        margin: 0 0 50px 0;
        padding: 0;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__btngroup-double {
        max-width: 738px;
        margin: 0 0 50px 0;
        padding: 0;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
}

#contents .inquiry-sec01__btngroup-double .btn__secondary {
    margin-right: 0;
    cursor: pointer;
}

#contents .inquiry-sec01__btngroup-double .btn__primary {
    margin-right: 0;
    cursor: pointer;
}

#contents .inquiry-sec01 .asterisk {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    color: #FA0000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01 .asterisk {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #FA0000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01 .asterisk {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #FA0000;
    }
}

#contents .inquiry-sec01 .input {
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 1em 1em 1em 1em;
    box-sizing: border-box;
    border: 1px solid #000;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01 .input {
        width: 100%;
        height: 50px;
        margin: 0;
        padding: 1em 1em 1em 1em;
        box-sizing: border-box;
        border: 1px solid #000;
        display: block;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01 .input {
        width: 100%;
        height: 50px;
        margin: 0;
        padding: 1em 1em 1em 1em;
        box-sizing: border-box;
        border: 1px solid #000;
        display: block;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.2;
        color: #000;
    }
}

#contents .inquiry-sec01 input[type=submit] {
    appearance: none;
    border: none;
}

#contents .inquiry-sec01 .textarea {
    width: 100%;
    min-height: 350px;
    margin: 0;
    padding: 1em 1em 1em 1em;
    box-sizing: border-box;
    border: 1px solid #000;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.9;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01 .textarea {
        width: 100%;
        min-height: 230px;
        margin: 0;
        padding: 1em 1em 1em 1em;
        box-sizing: border-box;
        border: 1px solid #000;
        display: block;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.9;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01 .textarea {
        width: 100%;
        min-height: 230px;
        margin: 0;
        padding: 1em 1em 1em 1em;
        box-sizing: border-box;
        border: 1px solid #000;
        display: block;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.9;
        color: #000;
    }
}

#contents .inquiry-sec01 .checkbox {
    margin: 0 10px 0 0;
    padding: 0;
    border: 1px solid #000;
    opacity: 0;
}

#contents .inquiry-sec01 .checkbox + label {
    position: relative;
    margin: 0 0 0 0.7em;
    padding: 0;
    cursor: pointer;
}

#contents .inquiry-sec01 .checkbox + label::before {
    position: absolute;
    left: -2em;
    top: 0;
    width: 18px;
    height: 18px;
    content: " ";
    display: inline-block;
    border: 1px solid #000;
}

#contents .inquiry-sec01 .checkbox + label::after {
    position: absolute;
    left: -2em;
    top: 0;
    width: 8px;
    height: 8px;
    background-color: #000;
    margin: 6px;
    content: " ";
    box-sizing: border-box;
    opacity: 0;
    transition: 0.2s;
}

#contents .inquiry-sec01 .checkbox:checked + label::after {
    opacity: 1;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01 .checkbox {
        margin: 0 10px 0 0;
        padding: 0;
        border: 1px solid #000;
        opacity: 0;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01 .checkbox {
        margin: 0 10px 0 0;
        padding: 0;
        border: 1px solid #000;
        opacity: 0;
    }
}

#contents .inquiry-sec01 .invalid-feedback {
    margin: 0 auto 0 auto;
    padding: 0 0 0 10px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 700;
    display: block;
    border-left: 10px solid #000;
    box-sizing: border-box;
    color: #333;
    animation: fadeIn 1s both;
}

#contents .inquiry-sec01 .valid-feedback {
    margin: 0 auto 0 auto;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    display: block;
}

#contents .inquiry-sec01 .php-feedback {
    margin: 0 auto 0 auto;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    box-sizing: border-box;
}

#contents .inquiry-sec01 .is-invalid {
    border: 2px solid #333;
    background-color: #e2e2e2;
}

#contents .inquiry-sec01__finish {
    max-width: 100%;
    margin: 0;
    padding: 0 0 100px 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__finish {
        max-width: 100%;
        margin: 0;
        padding: 0 0 100px 50px;
        box-sizing: border-box;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__finish {
        max-width: 100%;
        margin: 0;
        padding: 0 0 100px 50px;
        box-sizing: border-box;
    }
}

#contents .inquiry-sec01__finish-tit {
    margin: 0 auto 30px auto;
    padding: 0;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__finish-tit {
        margin: 0 auto 30px auto;
        padding: 0;
        font-size: 30px;
        font-size: 3rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.2;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__finish-tit {
        margin: 0 auto 30px auto;
        padding: 0;
        font-size: 30px;
        font-size: 3rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.2;
        color: #000;
    }
}

#contents .inquiry-sec01__finish-txt {
    max-width: 100%;
    margin: 0 auto 50px auto;
    padding: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
    color: #000;
}

@media (min-width: 768px) {
    #contents .inquiry-sec01__finish-txt {
        max-width: 480px;
        margin: 0 auto 50px auto;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.8;
        color: #000;
    }
}

@media (min-width: 1200px) {
    #contents .inquiry-sec01__finish-txt {
        max-width: 480px;
        margin: 0 auto 50px auto;
        padding: 0;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.8;
        color: #000;
    }
}
