@charset "UTF-8";

/* ---------------------------------------------------

	Layout - All Page Common

-------------------------- */
* {
    margin: 0;
    outline: none;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
	}
html,body { height: 100%; }
body {
    background: transparent;
    color: rgba(50, 50, 50, 1);
    cursor: default;
    display: block;
    font-weight: 500;
    font-family: 'Noto Sans JP', "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
    line-height: 1.5;
    overflow-x: hidden;
    position: relative;
    vertical-align: baseline;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
	}
a,a:hover { text-decoration: none; }
a:link {}
a:visited {}
img {
    margin: 0;
    padding: 0;
    max-width: 100%;
    vertical-align: bottom;
    outline: none;
	}
img:hover { outline: none; }
ul { list-style: none; }
h1,h2,h3,h4,h5,h6 { margin: 0; }
input,select,textarea { font-size: 16px; }
button { cursor: pointer; }
/* Device */
@media (min-width: 751px) { .sp { display: none; } }
@media (max-width: 750px) { .pc { display: none; } }
/* Font Family */
.ff-notosans { font-family: "Noto Sans JP", sans-serif; }
.ff-notoserif { font-family: "Noto Serif JP", serif; }
/* Link */
a.txtlink {
    color: rgba(225, 90, 15, 1);
    text-decoration: underline;
    }
a.ext:after {}
/* YouTube */
.ytb { padding: 56.25% 0 0; position: relative; width: 100%; }
.ytb iframe { border: none; height: 100%!important; position: absolute; right: 0; top: 0; width: 100%!important; }
/* Anchor */
.anchor { display: block; position: relative; z-index: -1; }
@media (min-width: 751px) { .anchor { margin-top: -150px; padding-top: 150px; } }
@media (max-width: 750px) { .anchor { margin-top: -100px; padding-top: 100px } }
/* Fade-In */
.fadein {
    opacity: 0;
    position: relative;
    transform: translate(0, 100px);
    transition: all 1s;
    }
    .fadein.fdi-on {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        }
/* Accordion */
.acd-wrap {}
    .acd-tgl {}
    .acd-child { display: none; }
    .acd-open {}
/* Tab */
.app-tab {}
    .app-tab-item {
        -webkit-transition: all 0.2s ease-out;
        transition: all 0.2s ease-out;
        }
.app-con {}
    .app-con-item { display: none; }
    .app-con-item.is-show { display: block; }

/* ---------------------------------------------------

	Common

-------------------------- */
/* Logo Area */
.logoarea {
    position: relative;
    z-index: 101;
    }
.logoarea .link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    }
.logoarea i.mark {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
.logoarea i.mark img { width: 100%; }
/* Btn Area */
.btnarea {
    display: flex;
    flex-wrap: wrap;
    }
.btnarea a {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 100px;
    box-sizing: border-box;
    }
/* Scheme */
.btnarea a.arrow:after { content: '→'; }
@media (min-width: 751px) {
.btnarea a { transition: all .3s; }
}

/* ---------------------------------------------------

    Header

-------------------------- */
.gl-header {
    position: fixed;
    top: 0;
    z-index: 9999;
    transition: all 1s;
    }
.gl-header .inner {
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    }
.gl-header.scrolling { transform: translateY(-200%); }
.gl-header.scrolling.active { transform: translateY(0) !important; }
body.scrollactive .gl-header {
    background-color: rgba(100, 100, 100, .6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    }
@media (min-width: 751px) {
.gl-header {
    left: 2.5%;
    right: 2.5%;
    width: 95%;
    border-radius: 0 0 10px 10px;
    }
.gl-header .inner { padding: 20px; }
}
@media (min-width: 751px) and (max-width: 1080px) {
.gl-header {
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0;
    }
}
@media (max-width: 750px) {
.gl-header {
    left: 2.5%;
    right: 2.5%;
    width: 95%;
    border-radius: 0 0 10px 10px;
    }
.gl-header .inner { padding: 15px; }
}
/* ------------------------- */
/* Logo */
@media (min-width: 751px) {
.gl-header .logoarea i.mark img { max-width: 200px; }
}
@media (max-width: 750px) {
.gl-header .logoarea i.mark img { max-width: 150px; }
}
/* ------------------------- */
/* Nav */
.gl-header .navarea {
    display: flex;
    align-items: center;
    justify-content: center;
    }
.gl-header .navarea .glnav {
    display: flex;
    align-items: center;
    justify-content: center;
    }
.gl-header .navarea .glnav a {
    color: rgba(255, 255, 255, 1);
    font-family: "Noto Serif JP", serif;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    }
@media (min-width: 751px) {
.gl-header .navarea .glnav a {
    font-size: 16px;
    padding: 0 12.5px;
    transition: all .3s;
    }
.gl-header .navarea .glnav a:last-child { border-right: none; }
.gl-header .navarea .glnav a:hover { opacity: .6; }
}
@media (min-width: 751px) and (max-width: 1080px) {
.gl-header .navarea .glnav {
    flex-wrap: wrap;
    justify-content: flex-end;
    }
.gl-header .navarea .glnav a {
    padding-bottom: 5px;
    padding-top: 5px;
    }
}
@media (max-width: 750px) {
.gl-header .navarea {
    background-color: rgba(0, 0, 0, .9);
    left: 0;
    right: 0;
    padding: 100px 30px 50px;
    position: fixed;
    flex-direction: column;
    transform: translateY(-200%);
    transition: all .6s;
    border-radius: 0 0 10px 10px;
    }
.gl-header .navarea.active {
    top: 0;
    transform: translateY(0);
    }
.gl-header .navarea .glnav { flex-direction: column; }
.gl-header .navarea .glnav a { padding: 15px; }
/*
.gl-header .navarea .glnav a.inquiry { display: none; }
*/
}
/* ------------------------- */
/* Sp Menu */
@media (min-width: 751px) {
.gl-header .spmenu { display: none; }
}
@media (max-width: 750px) {
.gl-header .spmenu {
    position: relative;
    z-index: 101;
    display: flex;
    justify-content: center;
    }
.gl-header .spmenu .item {
    font-size: 13px;
    height: 60px;
    margin: 0 5px;
    overflow: hidden;
    position: relative;
    width: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    transition: all .3s;
    }
.gl-header .spmenu .navtrg {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, 1);
    }
.gl-header .spmenu .navtrg.active { border-color: rgba(255, 255, 255, 0); }
.gl-header .spmenu .navtrg.active:before {
    background-color: rgba(225, 90, 15, 1);
    color: rgba(255, 255, 255, 1);
    bottom: 0;
    content: 'CLOSE';
    left: 0;
    right: 0;
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
    }
.gl-header .spmenu .reserv {
    background-color: rgba(235, 155, 110, 1);
    color: rgba(255, 255, 255, 1);
    mix-blend-mode: multiply;
    }
}

/* ---------------------------------------------------

    News List

-------------------------- */
.news .list .item {
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    }
.news .list .item .fig a {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    }
.news .list .item .postttl { line-height: 1.75; }
.news .list .item .postttl a { color: initial; }
.news .list .item .postttl .nolink {
    pointer-events: none;
    text-decoration: unset;
    }
@media (min-width: 751px) {
.news .list .item { padding: 25px 0; }
.news .list .item .fig {
    margin-right: 30px;
    max-width: 27%;
    }
.news .list .item .fig a { border-radius: 8px; }
.news .list .item .fig img {
    border-radius: 8px;
    transition: all .3s;
    }
.news .list .item .fig a:hover img { transform: scale(1.05); }
.news .list .item .date { font-size: 16px; }
.news .list .item .postttl {
    font-size: 18px;
    letter-spacing: 1.5px;
    margin-top: 10px;
    }
.news .list .item .postttl a { transition: all .3s; }
.news .list .item .postttl a:hover { color: rgba(225, 90, 15, 1); }
}
@media (max-width: 750px) {
.news .list .item { padding: 25px 0; }
.news .list .item .fig {
    margin-right: 20px;
    max-width: 30%;
    }
.news .list .item .fig a { border-radius: 8px; }
.news .list .item .fig img {
    border-radius: 8px;
    transition: all .3s;
    }
.news .list .item .date { font-size: 14px; }
.news .list .item .postttl {
    font-size: 16px;
    letter-spacing: 1.5px;
    margin-top: 10px;
    }
}

/* ---------------------------------------------------

    Second Page

-------------------------- */
/* Intro */
.sec-intro {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    }
.sec-intro:before {
    background-color: rgba(0, 0, 0, .45);
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
    }
.sec-intro .inner {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    }
.sec-intro .int-ttl {
    color: rgba(255, 255, 255, 1);
    font-family: "Noto Serif JP", serif;
    position: relative;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    box-sizing: border-box;
    }
.sec-intro .int-ttl span { letter-spacing: 2.5px; }
@media (min-width: 751px) {
.sec-intro { padding: 200px 60px 50px; }
.sec-intro .inner { max-width: 1366px; }
.sec-intro .int-ttl span.en { font-size: 20px; }
.sec-intro .int-ttl span.jp { font-size: 45px; }
}
@media (max-width: 750px) {
.sec-intro { padding: 250px 40px 30px; }
.sec-intro .int-ttl span.en { font-size: 16px; }
.sec-intro .int-ttl span.jp { font-size: 30px; }
}
/* Intro - Ver.Wide */
.sec-intro.wide { box-sizing: border-box; }
.sec-intro.wide .int-ttl {
    position: relative;
    z-index: 1;
    }
.sec-intro.wide .int-fig {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    }
.sec-intro.wide .int-ttl span.en,
.sec-intro.wide .int-ttl span.jp { font-weight: 500; }
.sec-intro.wide .int-fig video {
    max-width: 100%;
    position: relative;
    }
@media (min-width: 751px) {
.sec-intro.wide { padding: 0; }
.sec-intro.wide:after {
    background-image: url(/src/img/home/symbol-komachi.svg);
    background-repeat: no-repeat;
    background-position: left -10% top -10%;
    background-size: 40%;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    }
.sec-intro.wide .inner {
    z-index: 2;
    height: 100vh;
    max-width: unset;
    width: 100vw;
    display: flex;
    justify-content: space-between;
    }
.sec-intro.wide .int-ttl {
    justify-content: center;
    align-items: center;
    }
.sec-intro.wide .int-ttl span.jp {
    letter-spacing: 20px;
    font-size: min(5vw, 65px);
    margin-top: 30px;
    text-align: justify;
    display: inline-flex;
    writing-mode: vertical-rl;
    }
.sec-intro.wide .int-fig {
    max-width: 50%;
    overflow: hidden;
    }
}
@media (max-width: 750px) {
.sec-intro.wide {
    height: 100vh;
    padding: 20vh 40px 40px;
    }
.sec-intro.wide .int-ttl span.jp {
    font-size: min(10vw, 45px);
    letter-spacing: 5px;
    }
.sec-intro.wide .int-fig { height: 100%; }
.sec-intro.wide .int-fig video { box-shadow: 0 5px 20px rgba(0, 0, 0, .2); }
}
/* ----------------------- */
/* Second Wrap */
.secwrap {
    margin: 0 auto;
    position: relative;
    }
.secblock .sb-ttl {
    font-family: "Noto Serif JP", serif;
    position: relative;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    box-sizing: border-box;
    }
.secblock .sb-ttl span.en { color: rgba(225, 90, 15, 1); }
.secblock .sb-outline p:last-child { margin-bottom: 0; }
@media (min-width: 751px) {
.secwrap {
    max-width: 1366px;
    padding: 0 100px 100px;
    }
.secblock { margin-top: 100px; }
.secblock .sb-ttl span {
    line-height: 1;
    letter-spacing: 2.5px;
    }
.secblock .sb-ttl span.en { font-size: 20px; }
.secblock .sb-ttl span.jp {
    font-size: min(4vw, 55px);
    margin-top: 20px;
    }
.secblock .sb-outline { margin-top: 60px; }
.secblock .sb-outline p {
    font-size: 20px;
    line-height: 1.75;
    margin-bottom: 20px;
    }
}
@media (max-width: 750px) {
.secwrap { padding: 0 20px 60px; }
.secblock { margin-top: 50px; }
.secblock .sb-ttlarea { padding: 0 15px; }
.secblock .sb-ttl span.en {
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 1.5;
    }
.secblock .sb-ttl span.jp {
    font-size: 35px;
    line-height: 1.25;
    margin-top: 10px;
    }
.secblock .sb-outline { margin-top: 30px; }
.secblock .sb-outline p {
    font-size: 16px;
    line-height: 1.85;
    margin-bottom: 20px;
    }
}
/* ----------------------- */
/* Page Anchor */
.pageanchor {
    position: relative;
    z-index: 1;
    }
.pageanchor ul {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    }
.pageanchor ul li {
    width: 100%;
    box-sizing: border-box;
    }
.pageanchor a {
    border-bottom: 1px solid rgba(0, 0, 0, .5);
    color: initial;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    }
.pageanchor a:after {
    content: '→';
    line-height: 1;
    position: relative;
    transform: rotate(90deg);
    }
@media (min-width: 751px) {
.pageanchor { padding-top: 60px; }
.pageanchor ul li { padding: 0 20px; }
.pageanchor a {
    font-size: 20px;
    padding-bottom: 10px;
    transition: all .3s;
    }
.pageanchor a:hover {
    border-bottom-color: rgba(225, 90, 15, 1);
    color: rgba(225, 90, 15, 1);
    }
}
@media (max-width: 750px) {
.pageanchor { padding-top: 20px; }
.pageanchor ul { flex-wrap: wrap; }
.pageanchor ul li {
    max-width: 50%;
    padding: 0 20px;
    }
.pageanchor a {
    font-size: 18px;
    height: 60px;
    }
}
/* ----------------------- */
/* Breadcrumbs */
.breadcrumbs ol {
    background-color: rgba(0, 0, 0, .05);
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    }
.breadcrumbs ol li {}
.breadcrumbs ol li:after {
    content: '〉';
    display: inline-block;
    text-align: center;
    }
.breadcrumbs ol li:last-child:after { display: none; }
.breadcrumbs ol li a { color: initial; }
@media (min-width: 751px) {
.breadcrumbs { padding: 20px; }
.breadcrumbs ol {
    padding: 10px 20px;
    border-radius: 8px;
    }
.breadcrumbs ol li { font-size: 13px; }
.breadcrumbs ol li:after {
    letter-spacing: -10px;
    margin: 0 5px;
    width: 20px;
    }
}
@media (max-width: 750px) {
.breadcrumbs { padding: 20px; }
.breadcrumbs ol {
    padding: 10px 20px;
    border-radius: 8px;
    }
.breadcrumbs ol li { font-size: 13px; }
.breadcrumbs ol li:after {
    letter-spacing: -10px;
    margin: 0 5px;
    width: 20px;
    }
}
/* ----------------------- */
@media (min-width: 751px) {
}
@media (max-width: 750px) {
}
/* ----------------------- */
@media (min-width: 751px) {
}
@media (max-width: 750px) {
}
/* ----------------------- */
@media (min-width: 751px) {
}
@media (max-width: 750px) {
}

/* ---------------------------------------------------

    Footer

-------------------------- */
.gl-footer { position: relative; }
.gl-footer .inner {
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
    }
/* ----------------------- */
@media (min-width: 751px) {
.gl-footer {}
.gl-footer .inner { padding: 20px; }
}
/* ----------------------- */
@media (max-width: 750px) {
.gl-footer {}
.gl-footer .inner { padding: 20px; }
}
/* ------------------------- */
/* Credit Area */
.gl-footer .creditarea {
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    }
.gl-footer .creditarea .item { box-sizing: border-box; }
.gl-footer .creditarea .item .logoarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
.gl-footer .creditarea .item .data ul li { line-height: 1.5; }
.gl-footer .creditarea .item .data ul li address { font-style: initial; }
@media (min-width: 751px) {
.gl-footer .creditarea {}
.gl-footer .creditarea .item { padding: 15px 30px; }
.gl-footer .creditarea .item .logoarea { height: 80px; }
.gl-footer .creditarea .item .logoarea .label {
    font-size: 16px;
    margin-bottom: 5px;
    }
.gl-footer .creditarea .item .data { margin-top: 10px; }
.gl-footer .creditarea .item .data ul li { font-size: 16px; }
/* Scheme */
.gl-footer .creditarea .item.akinomiya .logoarea i.mark img { max-width: 200px; }
.gl-footer .creditarea .item.ksolcojp .logoarea i.mark img { width: 260px; }
}
@media (max-width: 1000px) {
.gl-footer .creditarea { flex-wrap: wrap; }
.gl-footer .creditarea .item { padding: 15px 0; }
.gl-footer .creditarea .item .logoarea { height: auto; }
}
@media (max-width: 750px) {
.gl-footer .creditarea {}
.gl-footer .creditarea .item .logoarea .label {
    font-size: 16px;
    margin-bottom: 5px;
    }
.gl-footer .creditarea .item .data { margin-top: 10px; }
.gl-footer .creditarea .item .data ul li { font-size: 14px; }
/* Scheme */
.gl-footer .creditarea .item.akinomiya .logoarea i.mark img { max-width: 200px; }
.gl-footer .creditarea .item.ksolcojp .logoarea i.mark img { width: 260px; }
}
/* ------------------------- */
/* Nav */
.gl-footer .navarea {
    border-top: 1px solid rgba(0, 0, 0, .3);
    display: flex;
    align-items: center;
    }
.gl-footer .navarea a {
    color: initial;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    }
@media (min-width: 751px) {
.gl-footer .navarea {
    margin-top: 30px;
    padding: 15px 0;
    justify-content: center;
    }
.gl-footer .navarea a {
    font-size: 16px;
    padding: 10px 15px;
    justify-content: center;
    transition: all .3s;
    }
.gl-footer .navarea a:hover { opacity: .6; }
}
@media (max-width: 750px) {
.gl-footer .navarea {
    margin-top: 30px;
    padding: 0 0 15px;
    flex-wrap: wrap;
    justify-content: flex-start;
    }
.gl-footer .navarea a {
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    font-size: 16px;
    padding: 15px;
    width: 50%;
    justify-content: flex-start;
    }
}
/* ------------------------- */
/* Copy */
.gl-footer .copyarea {
    background-color: rgba(225, 90, 15, 1);
    color: rgba(255, 255, 255, 1);
    padding: 15px;
    text-align: center;
    border-radius: 8px;
    }
.gl-footer .copyarea p {
    display: inline-block;
    font-size: 11px;
    text-align: left;
    }

/* ---------------------------------------------------

    Cv Reservation

-------------------------- */
.cv-reserv {
    background-color: rgba(235, 155, 110, 1);
    color: rgba(255, 255, 255, 1);
    position: fixed;
    z-index: 9999;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 1s ease;
    }
.cv-reserv i {
    display: flex;
    align-items: center;
    justify-content: center;
    }
.cv-reserv .label {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: justify;
    writing-mode: vertical-rl;
    display: inline-flex;
    }
/* ----------------------- */
@media (min-width: 751px) {
.cv-reserv.sp { display: none; }
.cv-reserv {
    bottom: 20px;
    padding: 20px 10px;
    right: 0;
    border-radius: 8px 0 0 8px;
    /*
    right: -150px;
    */
    }
.cv-reserv.is-show { right: 0; }
.cv-reserv i { margin-bottom: 10px; }
.cv-reserv .label { font-size: 18px; }
}
/* ----------------------- */
@media (max-width: 750px) {
.cv-reserv.pc { display: none; }
.cv-reserv {
    display: none;
    /*
    bottom: 20px;
    padding: 20px 10px;
    right: -150px;
    border-radius: 8px 0 0 8px;
    */
    }
.cv-reserv.is-show { right: 0; }
.cv-reserv i { margin-bottom: 10px; }
.cv-reserv .label { font-size: 18px; }
}
