@charset "UTF-8";
/* [Base] - Normalize - Init [Layout] - Container - Header - Content - Footer [Module] [Pages] */
/* =========================================================
[Base]
========================================================= */
/* -------------------------------------------------- 0. Normalize -------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections
================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Render the `main` element consistently in IE. */
main { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content
================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { -webkit-box-sizing: content-box; box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics
================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content
================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms
==================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive
================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc===================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

/* -------------------------------------------------- 1. Init -------------------------------------------------- */
img { border: none; vertical-align: bottom; }

picture { display: block; }

object { vertical-align: middle; outline: none; }

em, strong { font-weight: bold; font-style: normal; }

small { font-size: 100%; }

abbr, acronym { border: none; font-variant: normal; }

q:before, q:after { content: ''; }

address, caption, cite, code, dfn, var { font-weight: normal; font-style: normal; }

code, pre { font-family: monospace; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

video { -webkit-filter: drop-shadow(0px 0px #000); filter: drop-shadow(0px 0px #000); }

*, *:before, *:after { -webkit-box-sizing: border-box; box-sizing: border-box; word-break: normal; }

/* =========================================================
[Layout]
========================================================= */
/* //////////////////////////////////////////////////
[Layout]
////////////////////////////////////////////////// */
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-size: 62.5%; }

body { color: #000000; font-size: 16px; font-size: 0.83333vw; line-height: 1.5; font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; -webkit-font-smoothing: antialiased; word-wrap: break-word; overflow-wrap: break-word; background-color: #D0CCC6; }

@media only screen and (max-width: 560px) { body { font-size: 1.6rem; } }

a:link, a:visited { color: #000000; text-decoration: none; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }

a:hover, a:active { color: #FFFFFF; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }

.is-show-only-sp { display: none; }

@media only screen and (max-width: 560px) { .is-show-only-pc { display: none; }
  .is-show-only-sp { display: block; } }

/* -------------------------------------------------- Container -------------------------------------------------- */
.l-container { overflow: hidden; position: relative; z-index: 1; }

/* -------------------------------------------------- Header -------------------------------------------------- */
.l-header { position: absolute; top: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-line-pack: center; align-content: center; width: 100%; height: 90px; padding: 0 3.125%; font-size: 16px; font-size: 0.83333vw; z-index: 10; }

.l-header .header-main { width: 20.66667%; -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; }

.l-header .header-main .site-name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0; line-height: 1; }

.l-header .header-main .site-name a { display: block; }

.l-header .header-main .site-name a img { max-width: 100%; height: auto; vertical-align: top; }

.l-header .header-menu { width: 78.22222%; }

.l-header .header-menu ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; margin: 0; list-style: none; }

.l-header .header-menu li { font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; font-size: 16px; font-size: 0.83333vw; font-weight: bold; letter-spacing: 0.03em; white-space: nowrap; }

.l-header .header-menu li a { display: block; padding: 1em; text-decoration: none; color: #FFF; }

.l-header .header-menu li a:hover, .l-header .header-menu li a:active { color: #000; }

.l-header .btn-hamburger { display: none; }

@media only screen and (max-width: 768px) { .l-header { height: 60px; } }

@media only screen and (max-width: 560px) { .l-header { position: relative; height: 56px; padding: 0 5.33333%; background: #D0CCC6; }
  .l-header .header-main { width: 50.74627%; }
  .l-header .header-menu { display: none; }
  .l-header .btn-hamburger { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-item-align: center; align-self: center; margin: 0; width: 36px; height: 36px; }
  .l-header .btn-hamburger a { overflow: hidden; display: block; width: 100%; height: 100%; }
  .l-header .btn-hamburger a span { position: relative; display: block; width: 100%; height: 100%; text-indent: -500px; }
  .l-header .btn-hamburger a span:before, .l-header .btn-hamburger a span:after { display: block; position: absolute; left: 0; content: ""; width: 100%; height: 1px; background: #FFF; }
  .l-header .btn-hamburger a span:before { top: 14px; }
  .l-header .btn-hamburger a span:after { top: 22px; } }

/* -------------------------------------------------- Drawer Menu -------------------------------------------------- */
.l-drawer { display: none; }

@media only screen and (max-width: 560px) { .l-drawer { position: absolute; top: 0; left: 0; width: 100%; z-index: 2; }
  .l-drawer .drawer-menu { position: relative; }
  .l-drawer .drawer-menu ul { margin: 0; padding: 0; list-style: none; }
  .l-drawer .drawer-menu ul li { position: relative; margin-bottom: 1px; background: #d0ccc6; }
  .l-drawer .drawer-menu ul li a { display: block; padding: 1.2em 2em; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; }
  .l-drawer .btn-hamburger { position: absolute; top: 0.75em; right: 1em; margin: 0; width: 36px; height: 36px; }
  .l-drawer .btn-hamburger a { overflow: hidden; display: block; width: 100%; height: 100%; }
  .l-drawer .btn-hamburger a span { position: relative; display: block; width: 100%; height: 100%; text-indent: -500px; }
  .l-drawer .btn-hamburger a span:before, .l-drawer .btn-hamburger a span:after { display: block; position: absolute; left: 0; content: ""; width: 100%; height: 1px; background: #000; }
  .l-drawer .btn-hamburger a span:before { top: 9px; right: 0; -webkit-transform: translateY(8px) rotate(-45deg); transform: translateY(8px) rotate(-45deg); }
  .l-drawer .btn-hamburger a span:after { top: 17px; right: 0; -webkit-transform: translateY(0) rotate(45deg); transform: translateY(0) rotate(45deg); } }

/* -------------------------------------------------- Contents -------------------------------------------------- */
.l-contents { width: 100%; margin: 0 auto; font-size: 16px; font-size: 0.83333vw; }

/* -------------------------------------------------- Footer -------------------------------------------------- */
.l-footer { position: relative; background-color: #8E8E8E; }

.l-footer .btn-pagetop-fixed { display: none; position: fixed; bottom: 0; right: 0; margin: 0; height: 220px; z-index: 10; }

.l-footer .btn-pagetop-fixed a { position: relative; display: block; padding: 20px; height: 100%; line-height: 1; }

.l-footer .btn-pagetop-fixed a img { position: relative; top: 0; width: auto; height: 100%; -webkit-transition: all ease 0.3s; transition: all ease 0.3s; }

.l-footer .btn-pagetop-fixed a:hover img { top: -10px; }

.l-footer .btn-pagetop-fixed.is-absolute { position: absolute; top: -220px; right: 0; }

.l-footer .btn-top-page { height: 120px; margin: 0; line-height: 120px; font-size: 24px; font-size: 1.25vw; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; letter-spacing: 0.03em; background: #B2B0A9; text-align: center; }

.l-footer .btn-top-page a { display: block; color: #FFF; }

.l-footer .btn-top-page a:hover, .l-footer .btn-top-page a:active { color: #000; background: #FFF; }

.l-footer .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 100px 9.89583%; color: #FFFFFF; }

.l-footer .inner a { color: #FFF; }

.l-footer .inner a:hover, .l-footer .inner a:active { color: #C9C9C9; }

.l-footer .inner .footer-menu { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 70.77922%; }

.l-footer .inner .footer-menu .menu-list { width: 22.93578%; margin: 0; padding: 0; list-style-type: none; }

.l-footer .inner .footer-menu .menu-list li { padding: 1em 0; border-bottom: 1px solid #969696; }

.l-footer .inner .footer-others { width: 27.27273%; }

.l-footer .inner .footer-others .others-list { margin: 0 0 2em; padding: 0; line-height: 1.875; }

.l-footer .inner .footer-others .others-list li { display: inline; }

.l-footer .inner .footer-others .copyright { color: #6F6F6F; font-size: 14px; font-size: 0.72917vw; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; letter-spacing: -0.03em; }

.l-footer .inner .copyright { text-align: center; width: 100%; }

@media only screen and (max-width: 768px) { .l-footer .btn-top-page { height: 50px; line-height: 50px; }
  .l-footer .inner { padding: 60px 2.60417%; } }

@media only screen and (max-width: 560px) { .l-footer .btn-top-page { height: 70px; line-height: 70px; font-size: 1.6rem; background: #E6E5E1; }
  .l-footer .btn-top-page a { color: #000; }
  .l-footer .btn-pagetop-fixed { height: 180px; }
  .l-footer .btn-pagetop-fixed a { padding: 12px; height: 100%; }
  .l-footer .btn-pagetop-fixed.is-absolute { top: -180px; }
  .l-footer .inner { padding: 30px 5.33333%; }
  .l-footer .inner .footer-menu { width: 100%; }
  .l-footer .inner .footer-menu .menu-list { width: 47.69231%; margin-bottom: 30px; }
  .l-footer .inner .footer-menu .menu-list li { font-size: 1.2rem; letter-spacing: -0.03em; }
  .l-footer .inner .footer-others { width: 100%; }
  .l-footer .inner .footer-others .others-list { margin: 0 0 2em; line-height: 1.83333; }
  .l-footer .inner .footer-others .others-list li { font-size: 1.2rem; letter-spacing: -0.03em; }
  .l-footer .inner .footer-others .copyright { font-size: 1.0rem; } }

/* =========================================================
[Module]
========================================================= */
/* //////////////////////////////////////////////////
[Module]
////////////////////////////////////////////////// */
/* -------------------------------------------------- Clearfix -------------------------------------------------- */
.group:after { display: block; content: ""; clear: both; }

/* -------------------------------------------------- Interaction -------------------------------------------------- */
a img, .hover a { -webkit-transition: 0.1s linear; transition: 0.1s linear; background: rgba(255, 255, 255, 0.01); }

a:hover img, .hover a:hover, .hover a:hover img { -ms-filter: "alpha(opacity=70)"; opacity: 0.70; }

@-webkit-keyframes zoom-in { 0% { -webkit-transform: scale(0.1); transform: scale(0.1); }
  100% { -webkit-transform: none; transform: none; } }

@keyframes zoom-in { 0% { -webkit-transform: scale(0.1); transform: scale(0.1); }
  100% { -webkit-transform: none; transform: none; } }

@-webkit-keyframes fade-in { 0% { opacity: 0;
    top: 30px; }
  100% { opacity: 1;
    top: 0; } }

@keyframes fade-in { 0% { opacity: 0;
    top: 30px; }
  100% { opacity: 1;
    top: 0; } }

.js-scroll-fade { position: relative; opacity: 0; -webkit-transform: translate(0, 60px); transform: translate(0, 60px); -webkit-transition: all 1s cubic-bezier(0.155, 0.91, 0.695, 0.95); transition: all 1s cubic-bezier(0.155, 0.91, 0.695, 0.95); }

.js-scroll-fade.is-animation { opacity: 1; -webkit-transform: translate(0, 0); transform: translate(0, 0); }

/* -------------------------------------------------- Heading -------------------------------------------------- */
.ttl-a { margin: 0 auto 1em; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; font-size: 48px; font-size: 2.5vw; font-weight: normal; text-align: center; }

@media only screen and (max-width: 560px) { .ttl-a { font-size: 2.4rem; } }

.ttl-b { width: 100%; margin: 0 0 0.3em; font-size: 40px; font-size: 2.08333vw; font-family: "Playfair Display", serif; color: #FFF; line-height: 1.2; font-weight: normal; }

@media only screen and (max-width: 560px) { .ttl-b { font-size: 3.2rem; } }

/* -------------------------------------------------- Text -------------------------------------------------- */
br.br-only-sp { display: none; }

@media only screen and (max-width: 560px) { br.br-only-pc { display: none; }
  br.br-only-sp { display: inline; } }

/* -------------------------------------------------- List -------------------------------------------------- */
/* -------------------------------------------------- Link -------------------------------------------------- */
/* -------------------------------------------------- Section -------------------------------------------------- */
/* -------------------------------------------------- Box -------------------------------------------------- */
.works { position: relative; overflow: hidden; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; }

.works a { display: block; position: relative; }

.works a .media { color: #FFF; }

.works figure { margin: 0; }

.works figure .thumb { margin: 0; }

.works figure .thumb img { width: 100%; height: auto; }

.works figure figcaption { position: relative; padding: 20px 0 20px 11.45833%; }

.works figure figcaption .category { position: absolute; top: 24px; left: 3.54167%; margin: 0; font-size: 14px; font-size: 0.72917vw; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; font-weight: normal; letter-spacing: 0.03em; line-height: 1; -ms-writing-mode: tb-lr; -webkit-writing-mode: vertical-lr; writing-mode: vertical-lr; white-space: nowrap; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }

.works figure figcaption .title { margin: 0 0 0.75rem; font-size: 24px; font-size: 1.25vw; font-weight: normal; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; line-height: 1.25; }

.works figure figcaption .media { margin: 0; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; }

@media only screen and (max-width: 560px) { .works { width: 100%; margin: 0 0 20px; }
  .works a { color: #000; }
  .works a .media { color: #FFF; }
  .works figure figcaption { position: relative; bottom: 100%; left: 0; display: block; text-align: left; background: none; }
  .works figure figcaption .category { position: absolute; top: 20px; left: 8%; width: initial; font-size: 1.0rem; white-space: nowrap; letter-spacing: 0.03em; -webkit-writing-mode: vertical-lr; -ms-writing-mode: tb-lr; writing-mode: vertical-lr; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }
  .works figure figcaption .title { margin: 0 0 0.5em; font-size: 2.0rem; }
  .works figure figcaption .media { font-size: 1.4rem; } }

/* -------------------------------------------------- Table -------------------------------------------------- */
/* -------------------------------------------------- Form -------------------------------------------------- */
/* Text Box & Text Area */
.mod-input-text, .mod-textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 8px 15px; line-height: 1.5; border: 1px solid #A5A5A5; background-color: #FFFFFF; -webkit-box-shadow: none; box-shadow: none; border-radius: 0; }

.mod-textarea { max-width: 100%; height: 14em; line-height: 1.6; }

/* Select */
.mod-select-wrap { position: relative; }

.mod-select-wrap:after { display: block; content: ""; position: absolute; top: 50%; right: 20px; width: 12px; height: 8px; margin-top: -4px; background: url(../images/common/ico_arrow_bottom_01.png) no-repeat 0 0; background-size: 100% auto; }

.mod-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0.5em 1.75em 0.5em 1em; border: 1px solid #000; border-radius: 0; background-color: #D0CCC6; -webkit-box-shadow: none; box-shadow: none; }

::-webkit-input-placeholder { color: #A5A5A5; }

/* Label (Inner Radio & Checkbox Pattern) */
.mod-radio-label { display: inline-block; position: relative; margin: 0.3em 1em 0.3em 0; cursor: pointer; }

.mod-radio-label input[type="radio"], .mod-radio-label input[type="checkbox"] { position: relative; top: 0.3em; display: inline-block; margin-right: 7px; vertical-align: top; }

.mod-input-text.is-error, .mod-select.is-error, .mod-textarea.is-error { border: 1px solid #D40000; -webkit-transition: border 0.2s ease; transition: border 0.2s ease; }

.mod-input-text:focus, .mod-select:focus, .mod-textarea:focus { border: 1px solid #000; outline: none; -webkit-transition: border 0.2s ease; transition: border 0.2s ease; }

.mwform-radio-field.horizontal-item { display: inline-block; position: relative; margin: 0.3em 1em 0.3em 0; cursor: pointer; }

.mwform-radio-field.horizontal-item input[type="radio"], .mwform-radio-field.horizontal-item input[type="checkbox"] { position: relative; top: 0.3em; display: inline-block; margin-right: 7px; vertical-align: top; }

/* Button */
.btn { display: inline-block; height: 50px; margin: 0 auto; padding: 0; line-height: 45px; font-size: 18px; font-size: 0.9375vw; font-weight: normal; color: #FFF; text-decoration: none !important; text-align: center; -webkit-appearance: none; -moz-appearance: none; appearance: none; -webkit-transition: background-color 0.1s ease; transition: background-color 0.1s ease; font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; border: 1px solid #000000; border-radius: 0; background-color: #000000; -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer; }

.btn.btn-a:hover { color: #000000; background-color: #FFF; }

.btn.btn-b { color: #000000; background-color: #F0EFED; border-color: transparent; }

.btn.btn-b:hover { color: #FFF; background-color: #000000; }

@media only screen and (max-width: 560px) { .btn { display: block; width: 84%; font-size: 1.4rem; } }

.mod-single-button { margin: 6.25% auto; text-align: center; }

.mod-multi-button { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 6.25% auto; text-align: center; }

.mod-multi-button li { width: 22.32143%; padding: 0 10px; }

.mod-multi-button li .btn { width: 100%; }

@media only screen and (max-width: 560px) { .mod-multi-button { margin: 50px auto; }
  .mod-multi-button li { width: 100%; }
  .mod-multi-button li .btn { width: 84%; }
  .mod-multi-button li :first-child { margin-bottom: 20px; } }

/* Element Size */
.mod-size-ss { width: 10%; }

.mod-size-s { width: 20%; }

.mod-size-m { width: 50%; }

.mod-size-l { width: 75%; }

.mod-size-ll { width: 100%; }

/* -------------------------------------------------- Icons -------------------------------------------------- */
/* -------------------------------------------------- Other -------------------------------------------------- */
.vjs-wrapper .vjs-dock-text, .vjs-wrapper .vjs-dock-shelf, .vjs-wrapper .vjs-unmute-overlay { display: none; }

.vjs-wrapper .vjs-tech { outline: none; }

.owl-carousel .owl-nav { height: 0; }

.owl-carousel .owl-nav .icon-prev, .owl-carousel .owl-nav .icon-next { display: block; position: absolute; top: 37%; width: 26px; height: 40px; margin-top: -20px; z-index: 999; }

.owl-carousel .owl-nav .icon-prev { left: 0; background: url(../images/common/ico_arrow_left_01.svg) no-repeat 0 0; background-size: 100% auto; }

.owl-carousel .owl-nav .icon-next { right: 0; background: url(../images/common/ico_arrow_right_01.svg) no-repeat 0 0; background-size: 100% auto; }

@media only screen and (max-width: 560px) { .owl-carousel .owl-nav .icon-prev, .owl-carousel .owl-nav .icon-next { top: 35%; width: 12px; height: 18px; margin-top: -9px; }
  .owl-carousel .owl-nav .icon-prev { background-size: 100% auto; }
  .owl-carousel .owl-nav .icon-next { background-size: 100% auto; } }

/* =========================================================
[Pages]
========================================================= */
/* //////////////////////////////////////////////////
[Pages]
////////////////////////////////////////////////// */
/* --------------------------------------------------
HOME
-------------------------------------------------- */
.page-home .home-visual { position: relative; width: 100%; padding-top: 56.25%; background: #000; }

.page-home .home-visual .vjs-wrapper .vjs-default-skin { pointer-events: none; }

.page-home .home-visual .vjs-wrapper .vjs-control-bar { display: none; }

.page-home .home-visual .resource, .page-home .home-visual .hearstPlayer { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

.page-home .home-visual .resource video { outline: none; width: 100%; height: auto; }

.page-home .home-works { padding-top: 70px; }

@media only screen and (max-width: 768px) { .page-home .home-works { padding-top: 30px; } }

.page-home .home-works .list-category { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 auto 70px; padding: 0; list-style: none; }

@media only screen and (max-width: 768px) { .page-home .home-works .list-category { margin: 0 auto 30px; } }

.page-home .home-works .list-category li { font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; font-size: 24px; font-size: 1.25vw; }

.page-home .home-works .list-category li a { display: block; padding: 0 0.75em; }

.page-home .home-works .list-category li.is-current a { color: #8E8E8E; }

.page-home .home-works .list-category-select { display: none; }

.page-home .home-works .works-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; /* justify-content: center; */ -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-line-pack: start; align-content: flex-start; min-height: 30vh; margin: 0 0.78125% 30px; padding: 0; }

.page-home .home-works .works-list .works { width: 33.33333%; margin: 0 0 30px; padding: 0 0.78125%; }

.page-home .home-works .works-list .works.is-animated { -webkit-animation: 1.2s ease fade-in; animation: 1.2s ease fade-in; }

.page-home .home-works .works-list .works a { color: #FFF; }

.page-home .home-works .works-list .works figure figcaption { opacity: 0; position: absolute; bottom: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-line-pack: center; align-content: center; width: 100%; height: 100%; margin: 0; padding: 20px; text-align: center; -webkit-transition: opacity ease 0.3s; transition: opacity ease 0.3s; background: rgba(167, 220, 232, 0.7); }

.page-home .home-works .works-list .works figure figcaption .category { position: static; top: initial; left: initial; width: 100%; margin: 1.5rem 0 1rem; font-size: 16px; font-size: 0.83333vw; -ms-writing-mode: lr-tb; -webkit-writing-mode: horizontal-tb; writing-mode: horizontal-tb; white-space: initial; -webkit-transform: none; transform: none; }

.page-home .home-works .works-list .works figure figcaption .title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; width: 100%; margin: 0 0 0.6rem; font-size: 44px; font-size: 2.29167vw; font-weight: normal; line-height: 1.2; }

.page-home .home-works .works-list .works figure figcaption .media { width: 100%; margin: 0; font-size: 20px; font-size: 1.04167vw; font-weight: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.page-home .home-works .works-list .works:hover figcaption { opacity: 1; }

.page-home .home-works .works-list .coming-soon { display: none; }

.page-home .home-works .works-list.no_data .coming-soon { display: block; width: 100%; height: 200px; font-size: 14px; font-size: 0.72917vw; text-align: center; line-height: 200px; }

.page-home .home-works .loading { margin: 100px auto; text-align: center; }

.page-home .home-works .btn-more { display: none; margin: 0 auto 60px; font-size: 24px; font-size: 1.25vw; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; text-align: center; }

.page-home .home-works .btn-more a { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; padding: 0 0 25px; background: url(../images/common/ico_arrow_bottom_01.png) no-repeat 50% 100%; }

.page-home .home-works .btn-more a:hover, .page-home .home-works .btn-more a:active { background: url(../images/common/ico_arrow_bottom_01_hover.png) no-repeat 50% 100%; }

.page-home .home-price { padding: 140px 1.5625%; text-align: center; color: #FFF; background: #6E6E6E; }

@media only screen and (max-width: 768px) { .page-home .home-price { padding: 60px 1.5625%; } }

.page-home .home-price .title { margin: 0 0 50px; font-size: 48px; font-size: 2.5vw; font-weight: normal; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; line-height: 1; }

.page-home .home-price .lead { margin: 0 0 70px; font-size: 24px; font-size: 1.25vw; }

.page-home .home-price .btn-price { width: 46.875%; margin: 0 auto; font-size: 24px; font-size: 1.25vw; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; }

.page-home .home-price .btn-price a { display: block; height: 80px; line-height: 80px; color: #FFF; border: 1px solid #FFF; }

.page-home .home-price .btn-price a:hover, .page-home .home-price .btn-price a:active { color: #000; background: #FFF; }

@media only screen and (max-width: 768px) { .page-home .home-price .lead { margin: 0 0 30px; }
  .page-home .home-price .btn-price a { height: 50px; line-height: 50px; } }

@media only screen and (max-width: 560px) { .page-home .home-works { padding: 0; }
  .page-home .home-works .list-category { display: none; }
  .page-home .home-works .list-category-select { display: block; padding: 4%; }
  .page-home .home-works .list-category-select:after { right: 6.66667%; }
  .page-home .home-works .list-category-select .mod-select { font-size: 1.4rem; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; }
  .page-home .home-works .works-list { min-height: 100vh; margin: 0; }
  .page-home .home-works .works-list .works { width: 100%; margin: 0 0 20px; padding: 0; }
  .page-home .home-works .works-list .works a { color: #000; }
  .page-home .home-works .works-list .works a .media { color: #FFF; }
  .page-home .home-works .works-list .works figure figcaption { opacity: 1; position: relative; bottom: 100%; left: 0; display: block; padding: 20px 20px 20px 20%; text-align: left; background: none; }
  .page-home .home-works .works-list .works figure figcaption .category { position: absolute; top: 20px; left: 8%; width: initial; margin: 0; font-size: 1.0rem; white-space: nowrap; letter-spacing: 0.03em; -webkit-writing-mode: vertical-lr; -ms-writing-mode: tb-lr; writing-mode: vertical-lr; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }
  .page-home .home-works .works-list .works figure figcaption .title { margin: 0 0 0.5rem; font-size: 2.0rem; }
  .page-home .home-works .works-list .works figure figcaption .media { font-size: 1.4rem; }
  .page-home .home-works .btn-more { margin: 0 auto 30px; font-size: 1.2rem; }
  .page-home .home-works .btn-more a { padding: 0 0 20px; background-size: 18px auto; }
  .page-home .home-works .btn-more a:hover, .page-home .home-works .btn-more a:active { background-size: 18px auto; }
  .page-home .home-price { padding: 60px 8%; }
  .page-home .home-price .title { margin: 0 0 0.5em; font-size: 3.2rem; }
  .page-home .home-price .lead { margin: 0 0 20px; font-size: 1.6rem; }
  .page-home .home-price .btn-price { width: 95.2381%; font-size: 1.6rem; }
  .page-home .home-price .btn-price a { height: 38px; line-height: 38px; } }

/* --------------------------------------------------
WORKS DETAIL
-------------------------------------------------- */
.page-works main { position: relative; }

.page-works .article { position: relative; }

.page-works .works-sidebar { position: fixed; top: 0; left: 0; width: 21.66667%; padding: 5.55556% 3.125%; z-index: 3; }

.page-works .works-sidebar ul { margin: 0; padding: 0; list-style: none; }

.page-works .works-sidebar ul li { line-height: 1; font-family: "Playfair Display", serif; font-size: 40px; font-size: 2.08333vw; }

.page-works .works-sidebar ul li a { position: relative; display: block; padding: 10px 0; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; }

.page-works .works-sidebar ul li a:before { position: absolute; top: 50%; left: -60px; display: block; content: ""; width: 1px; height: 1px; background: transparent; -webkit-transition: all ease 0.7s; transition: all ease 0.7s; }

.page-works .works-sidebar ul li.is-current a { padding: 50px 0; color: #FFF; }

.page-works .works-sidebar ul li.is-current a:before { left: -60px; width: 50px; background: #FFF; }

.page-works .works-visual { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 100vh; margin-bottom: 100vh; padding: 80px 0; background: #5C5C5C; z-index: 3; }

.page-works .works-visual .inner { width: 75%; height: 100vh; max-height: 700px; }

.page-works .works-visual .inner .hearstPlayer { width: 100%; height: 100%; }

.page-works .works-overview { position: fixed; top: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: 100%; min-height: 100vh; padding: 80px 11.66667% 80px 21.66667%; z-index: 1; }

.page-works .works-overview dl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; border-top: 1px solid #B9B3AB; }

.page-works .works-overview dl dt { width: 17.96875%; padding: 1.5em; font-size: 14px; font-size: 0.72917vw; letter-spacing: 0.03em; border-bottom: 1px solid #B9B3AB; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.page-works .works-overview dl dd { width: 82.03125%; margin: 0; padding: 1em; font-size: 24px; font-size: 1.25vw; border-bottom: 1px solid #B9B3AB; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.page-works .works-overview dl dd.ja { font-size: 18px; font-size: 0.9375vw; }

.page-works .works-behind-the-scene { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 100vh; padding: 80px 11.66667% 80px 21.66667%; background: #7E7E7E; z-index: 2; }

.page-works .works-behind-the-scene .inner { width: 75%; height: 100vh; max-height: 700px; }

.page-works .works-behind-the-scene .inner .hearstPlayer { width: 100%; height: 100%; }

.page-works .works-social { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-line-pack: center; align-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; min-height: 100vh; padding: 80px 11.66667% 80px 21.66667%; background: #c1bebc; z-index: 2; }

.page-works .works-social ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-preferred-size: 100%; flex-basis: 100%; margin: 0 0 -80px; padding: 0; list-style: none; }

.page-works .works-social ul li { width: 29.14062%; margin: 0 6.25% 80px 0; text-align: center; width: 30%; margin: 0 5% 0 0; text-align: center; position: relative; }

.page-works .works-social ul li:nth-child(3) { margin-right: 0; }

.page-works .works-social ul li .resource { display: block; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; overflow: hidden; margin: 0; }

.page-works .works-social ul li .resource video, .page-works .works-social ul li .resource img { max-width: 100%; height: auto; }

.page-works .works-social ul li .resource video.resource-frame, .page-works .works-social ul li .resource img.resource-frame { position: absolute; top: -3%; left: 0; }

.page-works .works-social ul li .resource video { position: relative; width: 101%; height: 101%; margin-left: -0.5%; margin-bottom: -0.5%; width: 88%; height: inherit; margin-bottom: 0; margin-left: 0; }

.page-works .works-signage { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-line-pack: center; align-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; min-height: 100vh; padding: 80px 11.66667% 80px 21.66667%; background: #D8D8D8; z-index: 2; }

.page-works .works-signage ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-preferred-size: 100%; flex-basis: 100%; margin: 0 0 -80px; padding: 0; list-style: none; }

.page-works .works-signage ul li { width: 46.875%; margin: 0 6.25% 80px 0; }

.page-works .works-signage ul li:nth-child(even) { margin: 0 0 80px 0; }

.page-works .works-signage ul li .resource { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; overflow: hidden; margin: 0; }

.page-works .works-signage ul li .resource video, .page-works .works-signage ul li .resource img { max-width: 100%; height: auto; }

.page-works .works-signage ul li .resource video { position: relative; width: 101%; height: 101%; margin-left: -0.5%; margin-bottom: -0.5%; }

.page-works .works-web { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-line-pack: center; align-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; min-height: 100vh; padding: 80px 11.66667% 80px 21.66667%; background: #b7b5b1; z-index: 2; }

.page-works .works-web ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-preferred-size: 100%; flex-basis: 100%; margin: 0 0 -100px; padding: 0; list-style: none; }

.page-works .works-web ul li { width: 100%; margin-bottom: 100px; }

.page-works .works-web ul li .resource { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; overflow: hidden; margin: 0; }

.page-works .works-web ul li .resource video, .page-works .works-web ul li .resource img { max-width: 100%; height: auto; }

.page-works .works-web ul li .resource video { position: relative; width: 101%; height: 101%; margin-left: -0.5%; margin-bottom: -0.5%; }

.page-works .works-credit { position: relative; width: 100%; padding: 60px; font-family: "Nunito Sans", "Myriad Pro", "Arial", sans-serif; background: #DDDDDD; text-align: center; letter-spacing: 0.03em; z-index: 2; }

.page-works .works-others { position: relative; width: 100%; padding: 100px 5%; z-index: 4; background: #D0CCC6; }

.page-works .works-others .works-category-list { padding: 0 5%; }

.page-works .works-others .works-category-list .works { margin: 0; }

.page-works .l-header { position: relative; background: #5C5C5C; z-index: 4; }

.page-works .l-footer { position: relative; z-index: 4; }

@media only screen and (max-width: 768px) { .page-works .works-visual { min-height: 50vh; margin-bottom: initial; }
  .page-works .works-visual .hearstPlayer { width: 100%; height: 100%; }
  .page-works .works-overview { position: static; min-height: 50vh; }
  .page-works .works-behind-the-scene, .page-works .works-social, .page-works .works-signage, .page-works .works-web { min-height: 50vh; }
  .page-works .works-behind-the-scene .hearstPlayer, .page-works .works-social .hearstPlayer, .page-works .works-signage .hearstPlayer, .page-works .works-web .hearstPlayer { width: 100%; height: 100%; } }

@media only screen and (max-width: 560px) { .page-works .works-sidebar { display: none; }
  .page-works .works-visual { min-height: initial; margin: 0; padding: 0; }
  .page-works .works-visual .ttl-b { padding: 0.3em 9.33333% 0; }
  .page-works .works-visual .inner { position: relative; width: 100%; padding-top: 56.25%; background: #000; height: auto; }
  .page-works .works-visual .inner .hearstPlayer { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
  .page-works .works-overview { position: static; width: 100%; min-height: initial; padding: 40px 9.6%; }
  .page-works .works-overview dl dt { width: 26.40264%; padding: 1.5em 0; font-size: 1.0rem; }
  .page-works .works-overview dl dd { width: 73.59736%; padding: 0.75em 0 0.75em 1em; font-size: 1.5rem; }
  .page-works .works-overview dl dd.ja { font-size: 1.5rem; }
  .page-works .works-overview dl .description { width: 100%; padding: 1.5em 0 0; border-bottom: none; }
  .page-works .works-overview dl .description + dd { width: 100%; padding: 0.5em 0 0.75em; }
  .page-works .works-behind-the-scene { min-height: initial; padding: 40px 9.6%; }
  .page-works .works-behind-the-scene .inner { position: relative; width: 100%; padding-top: 56.25%; background: #000; height: auto; }
  .page-works .works-behind-the-scene .inner .hearstPlayer { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
  .page-works .works-social { min-height: initial; padding: 40px 9.6%; }
  .page-works .works-social ul { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 -20px; }
  .page-works .works-social ul li { width: 92.40924%; margin: 0 0 20px; width: 30%; margin: 0 5% 0 0; text-align: center; position: relative; }
  .page-works .works-social ul li:nth-child(3) { margin: 0 0 20px; margin-right: 0; }
  .page-works .works-signage { min-height: initial; padding: 40px 9.6%; }
  .page-works .works-signage ul { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 -20px; }
  .page-works .works-signage ul li { width: 100%; margin: 0 0 20px; }
  .page-works .works-signage ul li:nth-child(even) { margin: 0 0 20px; }
  .page-works .works-web { min-height: initial; padding: 40px 3.46667%; }
  .page-works .works-web .ttl-b { padding: 0 5.73066%; }
  .page-works .works-web ul { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 0 -30px; }
  .page-works .works-web ul li { margin-bottom: 30px; }
  .page-works .works-credit { padding: 40px 9.6%; font-size: 1.4rem; text-align: left; }
  .page-works .works-others { padding: 40px 5.33333%; }
  .page-works .works-others .works-category-list { padding: 0 8.95522%; }
  .page-works .works-others .works-category-list .works figure figcaption { padding: 20px 0 20px 24.07407%; }
  .page-works .works-others .works-category-list .works figure figcaption .title { font-size: 1.6rem; }
  .page-works .works-others .works-category-list .works figure figcaption .media { font-size: 1.2rem; }
  .page-works .l-header { background: #D0CCC6; } }
/*# sourceMappingURL=styles.css.map */