@charset "UTF-8"; /**/
.hv {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.hv:hover {
    opacity: 0.6;
}

/* Commonness CSS */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    background: transparent;
}

html {
    height: 100%;
}

body {
    width: 100%;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    line-height: 130%;
    font-family: 'Sawarabi Gothic', sans-serif;
}

/* * html body { font-family: 'ＭＳ Ｐゴシック',sans-serif;  }  IE6 */
img {
    line-height: 1.0;
}

ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*\*/
* html #container {
    overflow: visible;
}

/**/
input, select, textarea {
    font-size: 16px;
    color: #333;
}

/* - ClearFix ------------------------------------------------------ */
* html .clearfix {
    zoom: 1; }

/* IE6 */
*:first-child + html .clearfix {
    zoom: 1; }

/* IE7 */
.clearfix {
    display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/* End hide from IE-mac */
* {
    -webkit-text-size-adjust: none;
    -webkit-tap-highlight-color: transparent;
}

/* Hides from IE5-Mac \*/
* html .foo {
    height: 1%;
}

/****************************************************/
/* for html5. from html5doctor.com Reset Stylesheet */
/****************************************************/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

nav ul {
    list-style: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

img {
    vertical-align: bottom;
}

/* for placeholder color */
:-ms-input-placeholder {
    color: #999 !important;
}

::-webkit-input-placeholder {
    color: #999 !important;
}

::-moz-placeholder {
    color: #999 !important;
}

:-moz-placeholder {
    color: #999 !important;
}

::-input-placeholder {
    color: #999 !important;
}

:-input-placeholder {
    color: #999 !important;
}

::-placeholder {
    color: #999 !important;
}

:-placeholder {
    color: #999 !important;
}

html {
    background-color: #FFF;
    margin: 0 !important;
}

sup, sub {
    font-size: 0.8em;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    position: relative;
    color: #000;
    font-size: 14px;
    line-height: 1.6;
}

p {
    word-wrap: normal;
    font-size: 14px;
    line-height: 1.4;
    color: #000;
}

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

.left, .fl {
    float: left;
}

.right, .fr {
    float: right;
}

.clearfix:before, .clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1; }

.inner {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
    width: 100%;
}

.ud:hover {
    text-decoration: underline;
}

.ud2 {
    text-decoration: underline;
}

.ud3 {
    text-decoration: underline;
}

.ud3:hover {
    text-decoration: none;
}

.hv:hover {
    opacity: 0.6;
}

.font-yu {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-weight: bold;
}

@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 100;
}

.font-min {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.font-minion {
    font-family: minion-pro, serif;
    font-weight: 600;
    font-style: normal;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

.flex {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-around;
    justify-content: space-between;
}

.flex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* -webkit-box-pack:justify; */
    -ms-flex-pack: justify;
    /* justify-content:space-between; */
    flex-wrap: wrap;
}

.flex3 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.align-center {
    align-items: center;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

/*スクロールバー表示させる*/
.scroll::-webkit-scrollbar {
    width: 8px;
}

.scroll::-webkit-scrollbar-thumb {
    background: #f8c384;
    border-radius: 10px;
}

.scroll::-webkit-scrollbar-track-piece:start {
    background: #ffead2;
}

.scroll::-webkit-scrollbar-track-piece:end {
    background: #fff;
}

.none-display {
    display: none;
}

/*============================
COMMON
============================*/
img {
    max-width: 100%;
    height: auto;
}

.hide {
    display: none;
}

.hidden {
    display: none;
}

.header {
    padding: 25px 3% 25px;
    width: 100%;
    z-index: 99;
    position: relative;
    background: #FFF;
}

.header {
    position: fixed;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.header .inner {
    max-width: 1500px;
    align-items: flex-start;
    align-items: center;
}

.header .header__logo {
}

.header__logo {
    width: 100px;
}

.header__logo a {
    display: block;
}

.header__logo .h1_logo {
    width: 308px;
    height: 40px;
    background: url(../img/logo2.svg) center center no-repeat;
    background-size: cover;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

header.active .header__logo .h1_logo {
    /* background: url(../img/logo_2_b.png) center center no-repeat; */
    /* background-size: cover; */
}

.header__logo a h1 img {
    display: none;
}

.header .header__navi--box {
}

.header__navi--box {
}

.header__navi--box .header__navi {
}

.header__navi {
}

.header__navi .header__navi--list {
}

.header__navi--list {
    padding: 6px 0 0;
    padding: 0 0 0px;
}

.header__navi--list li {
    margin: 0 0 0 20px;
}

.header__navi--list a {
    color: #FFF;
    font-size: 14px;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    color: #000;
}

.header.active .header__navi--list a {
    color: #000;
}

.header__navi--list .contact-icon {
    width: 28px;
    display: inline-block;
    height: 15.5px;
    background: url(../img/icon_contact.png) bottom right no-repeat;
    background-size: 21.5px;
    position: relative;
    top: 3px;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.header.active .header__navi--list .contact-icon {
    background: url(../img/icon_contact_2.png) bottom right no-repeat;
    background-size: 21.5px;
}

.mv {
    position: relative;
    height: calc(100vh - 43px);
    margin: 0 auto 160px;
}

.mv .slider {
    position: relative;
    height: calc(100vh - 43px);
    margin: 0 auto 160px;
    height: auto;
}

.slider .slider01 {
    width: 100%;
    height: calc(100vh - 43px);
    background-image: url(../img/mv_1.jpg);
background-size: cover;background-position: top center;}

.slider .slider02 {
    width: 100%;
    height: calc(100vh - 43px);
    background-image: url(../img/mv_2.jpg);
background-size: cover;background-position: top center;}

.slider .slider03 {
    width: 100%;
    height: calc(100vh - 43px);
    background-image: url(../img/mv_3.jpg);
background-size: cover;background-position: center center;}

.mv__text {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 120px;
    max-width: 1500px;
    width: 96%;
    left: 0;
    right: 0;
    }

.mv__text p {
    
font-size: 40px;color: #FFF;font-weight: bold;text-shadow: 0px 0px 5px #000,0px 0px 10px #000;}

.mv.lower {
    height: 290px;
    margin: 0px auto 0;
    background: url(../img/mv_2.jpg) top -200px center no-repeat;
    background-size: cover;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    justify-content: center;
    align-items: center;
}

.mv.lower h1 {
    color: #FFF;
    font-size: 30px;
position: relative;top: 50px;}

.mv .video {
    width: 100%;
    height: calc(100vh - 43px);
    object-fit: cover;
}

.mv .scroll {
}

.scroll {
    position: absolute;
    bottom: -175px;
    right: 3%;
    width: 9.5px;
    height: 440px;
    height: 425px;
    bottom: -60px;
}

.scroll:before {
    content: '';
    width: 1px;
    height: 328px;
    background: #FFF;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 313px;
}

.scroll:after {
    content: '';
    width: 3px;
    height: 208px;
    background: #806000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 192px;
}

.scroll img {
}

.about {
    padding: 80px 0 77px;
    padding: 160px 0 77px;
    padding: 0px 3% 80px;
}

.about .inner {
    max-width: 100%;
    max-width: 1700px;
    justify-content: flex-start;
    padding: 0 0 0px;
align-items: center;}

.about .about__img01 {
}

.about__img01 {
    width: 780px;
}

.about__img01 img {
    margin: 0 0 0 auto;
    display: block;
}

.about .about__text {
}

.about__text {
    max-width: calc(100% - 780px);
    width: 578px;
padding: 0px 0 0 4%;}

.about__text .ttl {
    text-align: left;margin: 0 0 40px;}

.about__text .t1 {
    /* padding: 45px 0 0 12.3%; */
    line-height: 2.3;
margin: 0 0 30px;}

.about .about__img02 {
}

.about__img02 {
    position: absolute;
    width: 450px;
    right: 5.8%;
    bottom: 0px;
}

.about__img02 img {
}

.business {
    padding: 80px 3% 160px;
}

.business .inner {
}

.business .business__img--list {
}

.business__img--list {
    justify-content: center;
    display: flex !important;
}

.business__img--list .business__img--item {
}

.business__img--item {
    width: 414px;
    margin: 0 5px;
}

.business__img--item:nth-child(2n+1) {
    width: 230px;
}

.business__img--item img {
}

.business .business__text {
}

.business__text {
    margin: 60px auto 0;
    max-width: 500px;
}

.business__text .t1 {
    line-height: 2.3;
    word-break: break-all;
    margin: 0 0 60px;
    text-align: center;
    }

.business__text .t1 .business__text--link {
    color: #c81414;
}

.business__list {

font-size: 14px;text-align: center;}

.business__list li {
    
margin: 0 0 20px;}

.business__list a {
    
color: #806000;padding: 0 3px;text-decoration: underline;}

.ttl {
    text-align: center;
    font-size: 25px;
    letter-spacing: 0.2rem;
}

.outline {
    padding: 100px 3% 101px;
    background: url(../img/outline_bg.jpg) center center no-repeat;
    background-size: cover;
    padding: 120px 3% 121px;
}

.outline .inner {
    padding: 53px 3% 90px;
    background: rgba(255,255,255,0.8);
}

.outline .ttl {
    padding: 0 0 60px;
}

.outline__text {
    max-width: 500px;
    width: 100%;
    margin: 0 auto 30px;
line-height: 2.3;}

.outline .outline__table {
}

.outline__table {
    width: 100%;
    margin: 0 auto;
    max-width: 700px;
}

.outline__table tbody {
}

.outline__table tr {
}

.outline__table th {
    width: 120px;
    border-bottom: 3px solid #806000;
    padding: 22px 0 23px 20px;
    text-align: left;
    font-weight: normal;
}

.outline__table td {
    border-bottom: 1px solid #9f9e9f;
    padding: 22px 0 23px 20px;
line-height: 2.3;}

.outline__table .outline__info {
}

.outline__info {
}

.outline__info.first-child {
    margin: 0 0 15px;
}

.outline__info dt {
    width: 155px;
}

.outline__info dd {
    width: calc(100% - 175px);
}

.outline__info .map-link {
    display: inline-block;
    position: relative;
}

.outline__info .map-link:after {
    content: '';
    background: url(../img/icon_map.png) center center no-repeat;
    width: 13px;
    height: 19px;
    position: absolute;
    background-size: cover;
    right: -18px;
    top: 1.5px;
}

.contact {
    padding: 72px 3% 60px;
    padding: 92px 3% 80px;
}

.contact .inner {
}

.contact .ttl {
    margin: 0 0 62px;
}

.contact .contact__form {
}

.contact__form {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.contact__form .contact__form--item {
}

.contact__form--item {
    margin: 0 0 29px;
}

.contact__form--item dt {
    margin: 0 0 9px;
}

.contact__form--item .must {
}

.must {
    font-size: 12px;
    padding: 0 0 0 5px;
    color: #C81414;
}

.contact__form--item dd {
}

.contact__form--item .form__input {
}

.form__input {
    border: none;
    background: #f2f2f2;
    width: 100%;
    padding: 13px 10px;
    font-family: 'Sawarabi Gothic', sans-serif;
}

.contact__form--item .form__textarea {
}

.form__textarea {
    border: none;
    background: #f2f2f2;
    width: 100% !important;
    padding: 16px 10px;
    font-family: 'Sawarabi Gothic', sans-serif;
    height: 300px !important;
}

.contact__form .contact__form--text {
}

.contact__form--text {
    padding: 12px 0 44px;
    text-align: center;
}

.contact__form--text a {
    color: #806000;
text-decoration: underline;}

.contact__form .submit__btn {
}

.submit__btn {
    border: none;
    margin: 0 auto;
    display: block;
    max-width: 260px;
    width: 80%;
    font-family: 'Sawarabi Gothic', sans-serif;
    font-size: 17px;
    color: #FFF;
    background: #000;
    padding: 20px 0 19px;
    cursor: pointer;
    text-align: center;
}

.for-top {
    position: fixed;
    bottom: 0;
    right: 0%;
}

.for-top .for-top__btn {
}

.for-top__btn {
    background: #806000;
    display: block;
    padding: 43.5px 17.75px 40px 17.75px;
}

.for-top__btn img {
    width: 9.5px;
}

.footer {
    padding: 18px 3% 50px;
}

.footer .inner {
}

.footer .f-navi {
}

.f-navi {
    margin: 0 0 7px;
}

.f-navi ul.f-navi__list {
    justify-content: center;
}

.f-navi ul.f-navi__list li {
}

.f-navi ul.f-navi__list li a {
    font-size: 11px;
}

.footer .copyright {
}

.copyright {
    text-align: center;
    font-size: 11px;
}

/*--- loader ---*/
#loader-bg {
    position: fixed;
    width: 100%;
    height: 100% !important;
    top: 0px;
    left: 0px;
    background-color: #fff;
    z-index: 1000;
}

#loader {
    position: relative;
    width: 100%;
    top: calc(50% - 65px);
    height: 30px;
    text-align: center;
    color: #fff;
    z-index: 2000;
    display: none;
}

#loader img {
    height: auto;
    max-width: 445px;
    width: 94%;
}

#loadingBar {
    width: 100%;
    height: 1px;
    margin: 30px 0 0;
}

.linerin {
    overflow: hidden;
    position: relative;
    display: inline-block;
}

.linerin img {
    transform: translateX(-100%);
}

.img-wrap img {
    animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) both;
}

.linerin-rev {
    overflow: hidden;
    display: inline-block;
}

.linerin-rev img {
    transform: translateX(100%);
}

.img-wrap-rev img {
    animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) both;
}

@keyframes img-wrap {
    100% {
        transform: translateX(0);
    }
}

.sp-menu {
    display: none;
}

@media (max-width: 1380px) {
    .about__img01 {
        width: 50%;
    }

    .about__text {
        width: 47%;
        max-width: 47%;
        padding: 0 0 0 4%;
        }

    .about__img02 {
        right: 3%;
        width: 33%;
    }
}

@media (max-width: 1230px) {
    .about .inner {
        padding: 0 0 227px;
    }
}

@media (max-width: 964px) {
    .list-scroll {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 20px;
    }

    .business__img--list {
        width: 910px;
    }
}

/* privacy */
.privacy {
    padding: 80px 3% 80px;
}

.privacy .inner {
}

.privacy .privacy__read {
}

.privacy__read {
    text-align: center;
    font-size: 14px;
    line-height: 1.8;
}

.privacy .privacy__read2 {
}

.privacy__read2 {
    text-align: center;
    font-size: 14px;
    line-height: 1.8;
    margin: 14px 0 60px;
}

.privacy .privacy__info {
}

.privacy__info {
    margin: 0px 0 38px;
    line-height: 2;
    padding: 0 0 45px;
    border-bottom: 1px solid #d9d9d9;
}

.privacy__info dt {
    font-size: 20px;
    margin: 0 0 15px;
}

.privacy__info dd {
}

.privacy__info dd .t1 {
    line-height: 1.8;
    margin: 0 0 24px;
}

.privacy__info dd .t2 {
    line-height: 1.8;
}

.privacy__info dd .ti_1 {
    text-indent: 1rem;
}

.privacy__info dd .i_txtlink {
    color: #806000;
text-decoration: underline;}

.privacy__info dd .t3 {
    line-height: 1.8;
}

.thanks {
    padding: 80px 3% 80px;
}

.thanks .inner {
}

.thanks .t1 {
    text-align: center;
    margin: 0 0 50px;
}

.thanks .submit__btn {
}

.thanks .submit__btn:hover {
    color: #FFF;
}

.businessstyle {
    padding: 100px 3% 130px;
    background: #252525 url(../img/tile.png) center center;
}

.businessstyle .inner {
}

.businessstyle .ttl {
    color: #FFF;
    margin: 0 0 62px;
}

.businessstyle .businessstyle__itembox {
}

.businessstyle__itembox {
}

.businessstyle__itembox .businessstyle__textbox {
}

.businessstyle__textbox {
    width: 68%;
    padding: 40px 5%;
    background: rgba(255,255,255,0.9);
}

.businessstyle__textbox .businessstyle__textbox--text {
}

.businessstyle__textbox--text {
    line-height: 2.3;
    word-break: break-all;
}

.businessstyle__textbox .businessstyle__textbox--name {
}

.businessstyle__textbox--name {
    margin: 80px 0 0;
    text-align: right;
    font-size: 16px;
    font-weight: bold;
}

.businessstyle__textbox--name span {
    padding: 0 0 0 20px;
    font-size: 28px;
    width: 240px;
    display: inline-block;
}

.businessstyle__itembox .businessstyle__imgbox {
}

.businessstyle__imgbox {
    width: 30%;
}

.businessstyle__imgbox img {
}
