/*
Theme Name:Origin
Description:It is a wordpress theme for original website.
Version:1.0
Author:Ryohei Kosaka
Text Domain:origin
*/

/* ----------
import google fonts
---------- */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700|Noto+Serif+JP:400,500,700|Oswald:300,400,500,700');

/* ----------
common styles
---------- */
* {box-sizing:border-box;}
::selection {background:#000; color:#fff;}
::-moz-selection {background:#000; color:#fff;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {margin:0; padding:0; color:#000; -webkit-text-size-adjust:100%; font-family:'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', YuGothic, 'MS PGothic', 'Osaka', 'Meiryo', 'sans-serif'; font-weight:500; font-size:16px; letter-spacing:1px; word-wrap:break-word;}
h1, h2, h3, h4, h5, h6 {margin:0 0 15px; font-weight:700;}
input, button, select, textarea {font-family:inherit; font-size:inherit; line-height:inherit;}
input[type="button"], input[type="submit"] {border-radius:0;}
a {color:#333; text-decoration:none; transition:all .15s ease;}
a:hover {text-decoration:none; color:rgba(0, 0, 0, .715);}
a img {transition:all .15s ease; zoom:1;}
a:hover img {outline:none; opacity:.75;}
img {vertical-align:middle; -webkit-backface-visibility:inherit; backface-visibility:inherit;}
button {outline:none !important;}
ul {list-style:none; margin:0; padding:0;}
p {margin:0 0 10px;}
figure {margin:0; padding:0;}
.btn {display:flex; justify-content:center; align-items:center; width:100%; height:50px; margin:0 auto;}
.btn-default {position:relative; border-radius:8px; background-color:#000; color:#fff; font-weight:700; letter-spacing:.06em; font-size:16px; transition:all .15s ease;}
.btn-default::before {position:absolute; top:calc(50% - 9px); right:10px; font-family:'FontAwesome'; content:'\f105'; color:#fff; line-height:1; transition:all .15s ease;}
.btn-default:hover {color:#fff; opacity:.75;}
.btn-default:hover::before {transform:translateX(5px);}
.js-animation {opacity:0; visibility:hidden; transform:translateY(30px); transition:all .75s ease;}
.js-animation.is-show {opacity:1; visibility:visible; transform:translateY(0);}
.js-zoom {transform:scale(.5); transition:all .5s ease;}
.js-zoom.is-show {transform:scale(1);}
.js-to-left {transform:translateX(100px); transition:all .5s ease;}
.js-to-left.is-show {transform:translateX(0);}
.js-to-right {transform:translateX(-100px); transition:all .5s ease;}
.js-to-right.is-show {transform:translateX(0);}
.js-delay {transition:all .5s ease .5s}

#header {position:absolute; top:0; left:0; width:100%; height:200px; transition:all .375s ease;}
#header.scrolling {position:fixed; top:0; left:0; height:75px; background-color:transparent; z-index:1050;}
body.modal-open #header.scrolling {background-color:transparent;}
body.modal-open #header.scrolling .navbar-toggler {display:none;}
body.modal-open #header.scrolling .navbar-toggler-close {display:block;}
body.modal-open #header.scrolling .navbar-feature {display:none;}
#header.scrolling .navbar-brand {display:none;}
#header.scrolling .navbar-toggler,
#header.scrolling .navbar-toggler-close {top:10px; right:10px;}
#header.scrolling .navbar-toggler .toggle-title {display:block;}
#header.scrolling .navbar-toggler-close .toggle-title {display:block;}
#header.scrolling .navbar-keyword,
#header.scrolling .navbar-social {display:none;}
#header.scrolling .navbar-feature {top:16px; left:inherit; right:100px; width:auto;}
#header.scrolling .navbar-feature .justify-content-center {justify-content:flex-end !important;}
#header.scrolling .navbar-feature .nav-link {padding:10px 10px 10px 8px;}
.navbar {padding:0;}
.navbar-brand {position:absolute; top:40px; left:calc(50% - 90px); width:180px; height:85px;}
.navbar-brand .brand-link {display:block;}
.navbar-keyword {position:absolute; display:block; top:150px; left:calc(50% - 85px); max-width:170px; line-height:1;}
.navbar-toggler,
.navbar-toggler-close {position:absolute; display:block; top:10px; right:10px; padding:0; background-color:transparent; border:none; border-radius:0; outline:none;}
.navbar-toggler .toggle-inner {position:relative; width:56px; height:56px; background-color:#666c70; border-radius:56px;}
.navbar-toggler .toggle-bar {position:absolute; left:calc(50% - 12px); width:24px; height:2px; background-color:#fff; transition:all .15s ease;}
.navbar-toggler .toggle-bar:nth-child(1) {top:calc(50% - 11px);}
.navbar-toggler .toggle-bar:nth-child(2) {top:calc(50% - 1px);}
.navbar-toggler .toggle-bar:nth-child(3) {top:calc(50% + 9px);}
.navbar-toggler .toggle-title {margin-top:5px; font-size:16px; font-weight:700; cursor:pointer;}
.navbar-toggler-close {z-index:1060;}
.navbar-toggler-close .toggle-bar:nth-child(1) {top:calc(50% - 1px); transform:rotate(45deg);}
.navbar-toggler-close .toggle-bar:nth-child(2) {opacity:0;}
.navbar-toggler-close .toggle-bar:nth-child(3) {top:calc(50% - 1px); transform:rotate(-45deg);}
.navbar-toggler-close .toggle-title {color:#fff;}
.navbar-social {position:absolute; display:none; top:79px; right:165px;}
.navbar-social > .nav-item {display:inline-block;}
.navbar-social > .nav-item > .nav-link {padding:0;}
.navbar-social > .nav-item:not(:last-child) > .nav-link {margin-right:20px;}
.navbar-social > .nav-item > .nav-link img {width:33px; height:33px;}
.navbar-feature {position:absolute; top:180px; left:0; width:100%;}
.navbar-feature .nav-link {margin:0 4px; padding:10px 20px 10px 18px; border-radius:32px; line-height:1em; font-weight:700; font-size:18px; letter-spacing:.05em;}
.navbar-feature .nav-link i {color:#666c70; font-size:24px; vertical-align:bottom;}
.navbar-feature .nav-link span {display:inline-block; transform:translateY(-2px);}
.navbar-feature .nav-link:hover {background-color:#eaecee;}
.modal-backdrop {background-color:#666c70;}
.modal-backdrop.show {opacity:1;}
.modal-dialog {max-width:none; margin:0;}
.modal-content {height:100vh; background-color:transparent; border:none; border-radius:0;}
.modal-header {padding:0; border:none; border-radius:0;}
.modal-body {width:100%; max-width:880px; margin:auto; flex:0 0 auto; justify-content:center; align-items:center; padding:4rem 3rem;}
.modal-body a {color:#fff;}
#navigation {padding:0; position:relative;}
.scrolling #navigation {}
#navbarGlobal .navbar-primary .nav-link {padding:20px 0; font-weight:700; font-size:22px; letter-spacing:.05em; line-height:1;}
#navbarGlobal .navbar-primary {margin-bottom:20px;}
#navbarGlobal .navbar-secondary .navbar-nav {display:block;}
#navbarGlobal .navbar-secondary .navbar-nav > .nav-item {display:inline-block;}
#navbarGlobal .navbar-secondary .navbar-nav > .nav-item > .nav-link {padding:0; font-size:13px;}
#navbarGlobal .navbar-secondary .navbar-nav > .nav-item:not(:last-child) > .nav-link {margin-right:10px;}
#navbarGlobal .navbar-secondary .navbar-social-in-navigation > .nav-item > .nav-link img {width:33px; height:33px;}
#content {position:relative; margin-top:200px;}
#content .content-background {display:none;}
/*
#content .content-background {position:absolute; top:0; right:0; bottom:0; left:0; overflow:hidden;}
#content .content-background .content-background-fixed {margin:0; padding:0; position:fixed; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; opacity:.5;}
*/
/*
#content .content-background {position:absolute; top:0; right:0; bottom:0; left:0; overflow:hidden;}
#content .content-background-top {margin:0; padding:0; position:absolute; top:886px; right:0; left:50%; transform:translateX(-66px);}
#content .content-background-top img {position:absolute; top:0; left:0; width:742px;}
#content .content-background-bottom {position:absolute; top:600px; bottom:0; left:50%; width:134px; transform:translateX(-50%); background-size:100% auto; background-image:url(./images/common/content-background-bottom.png);}
*/
#sidebar {}
.footer-content {position:relative; padding:50px 0 100px;}
.footer-content .item {padding:26px 30px; border-radius:8px; background-color:#fff;}
.footer-content .item:not(:last-child) {margin-bottom:40px;}
.footer-content .item-subtitle {margin-bottom:12px; font-weight:700; font-size:18px; line-height:1.8em; text-align:center; letter-spacing:.1em;}
.footer-content .item-title {margin-bottom:18px; text-align:center;}
.footer-content .item-title-span {line-height:1.5em; font-weight:700; font-size:26px; letter-spacing:.07em; box-shadow:inset 0 -16px 0 0 #faff12;}
.footer-content .item-description {line-height:1.7em; margin-bottom:20px; font-weight:500; font-size:14px; letter-spacing:.1em;}
.footer-sticky {position:fixed; bottom:0; right:0; width:100%; transition:all .15s ease; z-index:100;}
.footer-sticky .container-fluid {padding-left:0; padding-right:0;}
.footer-sticky .row {margin-left:-.5px; margin-right:-.5px;}
.footer-sticky .col {padding-left:.5px; padding-right:.5px;}
.footer-sticky .btn-default {font-size:10px; border-radius:0;}
.footer-sticky .btn-default::before {top:calc(50% - 5px);}
#footer {position:relative; padding-top:50px; padding-bottom:20px; background-color:#212121; color:#fff;}
#footer .footer-common {margin-bottom:50px;}
#footer .footer-brand .brand-link {display:block; width:240px; margin-bottom:40px;}
#footer .footer-social {padding-left:0; text-align:center;}
#footer .footer-social > .nav-item {display:inline-block;}
#footer .footer-social > .nav-item > .nav-link {padding:0;}
#footer .footer-social > .nav-item:not(:last-child) > .nav-link {margin-right:20px;}
#footer .footer-social > .nav-item > .nav-link img {width:33px; height:33px;}
#footer .footer-link {padding-left:30px; padding-right:30px;}
#footer .footer-link .nav-link {display:block; padding:0; line-height:1em; font-weight:700; letter-spacing:.05em; color:#fff;}
#footer .footer-link .nav-link:not(:last-child) {margin-bottom:24px;}
#footer .footer-bottom {margin-top:40px; padding-left:30px; padding-right:30px; line-height:1em; letter-spacing:.05em;}
#footer .footer-bottom a {font-size:13px; color:#fff;}
#footer .footer-bottom a:not(:last-child) {margin-right:10px;}
#footer .footer-copyright {margin-top:30px; font-size:11px;}

/* page-content */
.page-content {background-color:#eaecee; overflow:hidden; background-size:100%; background-repeat:repeat-y;}
.page-content-title {position:relative; padding:50px 0;}
.page-content-title .page-title {position:relative; margin-bottom:0; line-height:1em; font-weight:700; font-size:30px; text-align:center; letter-spacing:.1em; line-height:1.5;}
.page-content-title .page-description {position:relative; margin-top:30px; margin-bottom:0; font-weight:700; font-size:18px; line-height:1.6em; text-align:center; letter-spacing:.1em;}
.page-content-body {position:relative; line-height:2em; font-weight:500; font-size:14px; letter-spacing:.1em;}

/* thumbnail */
.page-content .thumbnail {margin-bottom:80px;}
.page-content .thumbnail img {border-radius:8px;}

/* heading */
.page-content .heading {display:flex; justify-content:center; align-items:center; position:relative; margin-bottom:50px; font-size:30px; font-weight:700; letter-spacing:.1em; line-height:1; color:#000;}
.page-content .heading .heading-decoration {position:relative; top:-1px; font-size:30px; font-weight:500;}
.page-content .heading .heading-decoration:first-child {margin-right:20px;}
.page-content .heading .heading-decoration:last-child {margin-left:20px;}
.page-content .heading .heading-title {display:flex; align-items:center; position:relative; margin-bottom:0; overflow:hidden;}
.page-content .description {position:relative; margin-bottom:30px;}

/* post-items */
.page-content .post-items .item {position:relative; display:block; height:100%; padding-bottom:40px; border-radius:8px; background-color:#fff;}
.page-content .post-items .item-thumbnail-container {position:relative; overflow:hidden; border-top-left-radius:8px; border-top-right-radius:8px;}
.page-content .post-items .item-thumbnail {padding-top:54.7%; background-position:50%; background-size:cover; border-top-left-radius:8px; border-top-right-radius:8px; transition:all .5s ease;}
.page-content .post-items .item:hover .item-thumbnail {transform:scale(1.1);}
.page-content .post-items .item-title {line-height:1.5em; margin-bottom:0; padding:20px 24px; font-weight:700; font-size:18px; letter-spacing:.06em; transition:all .5s ease;}
.page-content .post-items .item-excerpt {line-height:1.5em; margin-bottom:0; padding:20px 24px; font-weight:500; font-size:14px; letter-spacing:.1em;}
.page-content .post-items .item-date {position:absolute; bottom:20px; left:0; font-family:'Oswald', sans-serif; font-size:16px; line-height:1em; padding:0 24px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; color:#9ea2a4;}
.page-content .post-items .item-subtitle {position:absolute; bottom:20px; left:0; font-size:16px; line-height:1em; padding:0 24px; font-weight:500; letter-spacing:.03em; color:#9ea2a4;}
.page-content .post-items.size-s .item-information {position:relative; padding-top:16px;}
.page-content .post-items.size-s .item-meta {position:absolute; top:-16px; left:16px; display:inline-block; line-height:1em; padding:6px 10px 10px; font-weight:700; letter-spacing:.06em; border-radius:4px; color:#fff; background-color:#000;}
.page-content .post-items.size-s .item-title {margin-bottom:20px; padding:16px 24px 0; font-size:18px;}
.page-content .post-items.size-s .item-excerpt {margin-bottom:20px; padding:0 24px; font-size:13px;}
.page-content .post-items.size-s .item-date {font-size:14px;}

/* vertical-items */
.page-content .vertical-items .item {position:relative; padding:22px; background-color:#fff; border-radius:8px;}
.page-content .vertical-items .item:not(:last-child) {margin-bottom:20px;}
.page-content .vertical-items .item-title {line-height:1.5em; margin-bottom:20px; padding:0; font-weight:700; font-size:20px; letter-spacing:.06em;}
.page-content .vertical-items .item-title small {font-size:14px;}
.page-content .vertical-items .item-list {padding-left:0;}
.page-content .vertical-items .item-list > li {display:inline-block; padding:5px 15px; background-color:#eaecee; border-radius:50px;}
.page-content .vertical-items .item-list > li:not(:last-child) {margin-left:5px; margin-right:5px;}
.page-content .vertical-items .item-feature {margin-bottom:10px;}
.page-content .vertical-items .item-price {margin-bottom:10px; padding:5px 15px; border-radius:8px; background-color:#eaecee;}
.page-content .vertical-items .item-price dt,
.page-content .vertical-items .item-price dd {margin-bottom:0;}
.page-content .vertical-items .item-price dd {font-size:14px;}
.page-content .vertical-items .item-subtitle {line-height:1.5em; margin-bottom:10px; padding:0; font-weight:700; font-size:16px; letter-spacing:.06em;}
.page-content .vertical-items .item-course {height:100%; padding:10px; border:2px solid #eaecee; border-radius:8px;}
.page-content .vertical-items .item-course-title {margin-bottom:10px; padding:5px 15px; background-color:#eaecee; border-radius:50px; text-align:center;}
.page-content .vertical-items .item-course-schedule {overflow:hidden; margin-bottom:0;}
.page-content .vertical-items .item-course-schedule dt,
.page-content .vertical-items .item-course-schedule dd {float:left; font-size:13px; line-height:1.75em;}
.page-content .vertical-items .item-course-schedule dt {width:20%;}
.page-content .vertical-items .item-course-schedule dd {width:80%;}
.page-content .vertical-items .item-note {line-height:1.75em; font-size:12px; color:#666c70;}
.page-content .vertical-items .item-text {line-height:1.75em; font-size:14px;}

/* alignment */
.alignleft {float:left; display:block;}
.alignright {float:right; display:block;}
.aligncenter {margin:0 auto; display:block;}

@media (min-width:576px) {
}

@media (min-width:768px) {
    body {}
    .scrolling #navigation {top:;}
    .navbar-brand .brand-link {width:auto; height:auto;}
    #content {}
}

@media (min-width:992px) {
    .btn {height:65px;}
    .btn-default {font-size:18px;}
    .js-animation {transform:translateY(50px);}

    #header {height:240px;}
    #header.scrolling {background-color:#fff;}
    #header.scrolling .navbar-brand {display:block; top:14px; left:30px; width:220px; height:46px;}
    #header.scrolling .navbar-toggler,
    #header.scrolling .navbar-toggler-close {top:10px; right:30px;}
    #header.scrolling .navbar-toggler .toggle-title {display:none;}
    .navbar-brand {top:60px; left:calc(50% - 180px); width:340px; height:71px;}
    .navbar-brand .brand-link {}
    .navbar-keyword {top:80px; left:80px; max-width:240px;}
    .navbar-toggler,
    .navbar-toggler-close {top:67px; right:80px;}
    .navbar-social {display:block;}
    .modal-body {padding:1rem;}
    #navbarGlobal .navbar-primary .nav-link {padding:20px 0; font-size:38px;}
    #navbarGlobal .navbar-primary {margin-bottom:45px;}
    #navbarGlobal .navbar-secondary .navbar-nav > .nav-item > .nav-link {font-size:18px;}
    #navbarGlobal .navbar-secondary .navbar-nav > .nav-item:not(:last-child) > .nav-link {margin-right:30px;}
    #navbarGlobal .navbar-secondary .navbar-social-in-navigation > .nav-item > .nav-link img {width:33px; height:33px;}
    #content {margin-top:240px;}
    .footer-content .item {padding:56px 80px;}
    .footer-content .item:not(:last-child) {margin-bottom:80px;}
    .footer-content .item-subtitle {margin-bottom:12px; font-size:24px;}
    .footer-content .item-title {margin-bottom:24px;}
    .footer-content .item-title-span {font-size:36px;}
    .footer-content .item-description {margin-bottom:40px; font-size:16px;}
    .footer-sticky {bottom:15px; right:0; width:750px;}
    .footer-sticky .container-fluid {padding-left:15px; padding-right:15px;}
    .footer-sticky .row {margin-left:-15px; margin-right:-15px;}
    .footer-sticky .col {padding-left:15px; padding-right:15px;}
    .footer-sticky .btn-default {font-size:16px; border-radius:8px;}
    .footer-sticky .btn-default::before {top:calc(50% - 9px);}
    #footer {padding-top:80px; padding-bottom:40px; background-color:#000;}
    #footer .footer-common {margin-bottom:0;}
    #footer .footer-brand .brand-link {width:260px; margin-bottom:30px;}
    #footer .footer-social {padding-left:1.5em; text-align:left;}
    #footer .footer-link {padding-left:0; padding-right:0;}
    #footer .footer-bottom {margin-top:80px; padding-left:0; padding-right:0;}
    #footer .footer-bottom a {font-size:11px;}
    #footer .footer-bottom a:not(:last-child) {margin-right:28px;}
    #footer .footer-copyright {margin-top:0;}

    /* page-content */
    .page-content-title {padding:100px 0;}
    .page-content-title .page-title {font-size:48px; line-height:1.15;}
    .page-content-title .page-description {margin-top:40px; font-size:28px;}
    .page-content-body {font-size:18px;}

    /* heading */
    .page-content .heading {margin-bottom:70px; font-size:45px;}
    .page-content .heading .heading-decoration {top:-6px; font-size:70px;}
    .page-content .heading .heading-decoration:first-child {margin-right:40px;}
    .page-content .heading .heading-decoration:last-child {margin-left:40px;}
    .page-content .description {margin-bottom:50px;}

    /* post-items */
    .page-content .post-items .item {padding-bottom:40px;}
    .page-content .post-items .item-title {padding:20px 24px; font-size:24px;}
    .page-content .post-items .item-excerpt {padding:20px 24px; font-size:16px;}
    .page-content .post-items .item-date {font-size:18px; padding:0 24px;}
    .page-content .post-items .item-subtitle {font-size:18px; padding:0 24px;}
    .page-content .post-items.size-s .item-information {padding-top:16px;}
    .page-content .post-items.size-s .item-title {margin-bottom:20px; padding:16px 24px 0; font-size:22px;}
    .page-content .post-items.size-s .item-excerpt {margin-bottom:20px; padding:0 24px; font-size:13px;}
    .page-content .post-items.size-s .item-date {font-size:16px;}

    /* vertical-items */
    .page-content .vertical-items .item {padding:32px;}
    .page-content .vertical-items .item:not(:last-child) {margin-bottom:30px;}
    .page-content .vertical-items .item-title {margin-bottom:30px; font-size:30px;}
    .page-content .vertical-items .item-title small {font-size:18px;}
    .page-content .vertical-items .item-list > li {padding:10px 20px;}
    .page-content .vertical-items .item-list > li:not(:last-child) {margin-left:0; margin-right:15px;}
    .page-content .vertical-items .item-feature {margin-bottom:30px;}
    .page-content .vertical-items .item-price {margin-bottom:20px; padding:10px 20px;}
    .page-content .vertical-items .item-price dd {font-size:14px;}
    .page-content .vertical-items .item-subtitle {font-size:24px;}
    .page-content .vertical-items .item-course {padding:20px;}
    .page-content .vertical-items .item-course-title {margin-bottom:20px; padding:10px 20px;}
    .page-content .vertical-items .item-course-schedule dt,
    .page-content .vertical-items .item-course-schedule dd {font-size:14px;}
    .page-content .vertical-items .item-course-schedule dt {width:20%;}
    .page-content .vertical-items .item-course-schedule dd {width:80%;}
    .page-content .vertical-items .item-note {font-size:12px;}
    .page-content .vertical-items .item-text {font-size:14px;}
}

@media (min-width:1200px) {
}
