/* import */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; min-width:1180px; max-width:inherit; margin:0; padding:0; padding-right:0 !important; background-color:#fff; color:#404040; -webkit-text-size-adjust:none; font-family:'Noto Sans JP', sans-serif; font-weight:400; font-size:15px; line-height:1.95; letter-spacing:.08em; word-wrap:break-word;}
body.lock {overflow:hidden;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1; font-family:'Noto Sans JP', sans-serif;}
a,
input,
button {color:#404040; transition:all .2s ease-in-out;}
a * {transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover {text-decoration:none; color:#000;}
p {margin-bottom:30px;}
figure {margin:0; display:block;}
img {image-rendering:-webkit-optimize-contrast;}
img[src$='.svg'] {width:100%; height:auto;}

/* util */
.container {max-width:1180px;}
.bg-light {background-color:#f8f8f8 !important;}
.js-fadein {opacity:0; transform:translate(-50px, 0); transition:all .5s ease-in-out;}
.js-fadein.in {opacity:1; transform:translate(0, 0);}
.button {position:relative; display:inline-flex; justify-content:center; align-items:center; padding:10px 20px; border-bottom:1px solid #404040; color:#404040;}
.button:hover {border-bottom-color:#000; color:#000;}
.thumbnail-responsive {position:relative; background-size:cover; background-position:center center; background-repeat:no-repeat;}
.thumbnail-4by3 {padding-top:75%;}
.thumbnail-16by9 {padding-top:56.25%;}
.thumbnail-link {display:block; overflow:hidden;}
.thumbnail-link .thumbnail-responsive {transition:all .2s ease-in-out;}
.thumbnail-link:hover .thumbnail-responsive {transform:scale(1.135);}

/* header */
.header {position:fixed; top:0; left:0; width:100%; z-index:1000;}
.header::before {position:absolute; content:''; top:0; left:0; width:100%; height:75px; background-color:#fff;}
.header .navbar-global {position:relative; height:75px; padding:0 50px;}
.header .navbar-global .navbar-brand {margin-bottom:0; padding-top:0; padding-bottom:0;}
.header .navbar-global .navbar-brand a {display:block; width:119px; height:40px; margin:0; line-height:1; background:url(../images/logo.svg) 0 0 no-repeat; background-size:100% auto;}
.header .navbar-global .navbar-header {flex-grow:inherit; margin-right:15px;}
.header .navbar-global .navbar-main .nav-item {line-height:1;}
.header .navbar-global .navbar-main .nav-link {display:flex; justify-content:center; align-items:center; padding:0 15px; font-family:'Noto Sans JP', sans-serif;}
.header .navbar-global .navbar-main .nav-link:hover {color:#404040;}
.header .navbar-global .navbar-main .dropdown-toggle {margin-right:10px; padding-right:15px;}
.header .navbar-global .navbar-main .dropdown-toggle::after {position:absolute; top:calc(50% - 3px); right:0; content:''; border:none; width:10px; height:6px; margin-left:0; background:url(../images/toggle-arrow.svg) 0 0 no-repeat; background-size:100% auto; transition:all .2s ease-in-out;}
.header .navbar-global .navbar-main .dropdown-toggle[aria-expanded="true"]::after {transform:rotate(180deg);}
.header .navbar-global .navbar-main .dropdown-menu {top:calc(100% + 18px); padding:10px 0; border:none; border-radius:0; box-shadow:0 2px 5px rgba(0, 0, 0, .075);}
.header .navbar-global .navbar-main .dropdown-menu .dropdown-item {position:relative; padding:10px 25px 10px 35px; font-size:14px;}
.header .navbar-global .navbar-main .dropdown-menu .dropdown-item::before {position:absolute; top:calc(50% - 1px); left:20px; content:''; width:10px; height:2px; background-color:#000;}
.header .navbar-global .navbar-main .dropdown-menu .dropdown-item:hover,
.header .navbar-global .navbar-main .dropdown-menu .dropdown-item:focus,
.header .navbar-global .navbar-main .dropdown-menu .dropdown-item:active {background:none; color:#000;}
.header .navbar-global .navbar-sub {justify-content:flex-end;}
.header .navbar-global .navbar-sub .nav-link {display:block; display:flex; justify-content:center; align-items:center; height:20px; padding:0 10px; color:#5f5f5f; font-family:'Noto Sans JP', sans-serif; font-size:13px;}
.header .navbar-global .navbar-sub .nav-link:hover {color:#000;}
.header .navbar-global .navbar-sub .nav-link i {margin-right:5px;}
.header .navbar-global .navbar-toggler {}
.header .navbar-global .navbar-contact {position:absolute; top:0; right:0; display:flex; justify-content:center; align-items:center; width:300px; height:130px; text-align:center; background-color:#202020;}
.header .navbar-global .navbar-contact .nav-text {margin-bottom:10px; color:#fff; font-size:13px;}
.header .navbar-global .navbar-contact i {margin-right:10px; color:#000; font-size:30px;}
.header .navbar-global .navbar-contact a {color:#fff; font-family:'Oswald', sans-serif; font-weight:700; font-size:35px; letter-spacing:0; line-height:1;}

/* content */
#content {padding-top:75px;}
.content {position:relative; overflow:hidden;}

/* section */
.section {padding-top:120px; padding-bottom:120px;}

/* breadcrumb */
.breadcrumb {margin-bottom:50px; padding:5px 50px; background-color:transparent; border-bottom:1px solid #e0d7dd; border-radius:0;}
.breadcrumb-item {font-size:13px;}
.breadcrumb-item a,
.breadcrumb-item span {color:#404040;}
.breadcrumb-item a:hover span,
.breadcrumb-item.active span {color:#000;}

/* pagination */
.pagination {justify-content:center; margin-top:30px;}
.pagination .screen-reader-text {display:none;}
.pagination .page-numbers {display:inline-flex; justify-content:center; align-items:center; background-color:#fff; min-width:40px; min-height:40px; border:1px solid #e0d7dd; font-size:13px;}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {background-color:#000; color:#fff;}

/* footer */
.section-footer {margin-top:50px; padding-top:50px; border-top:1px solid #e0d7dd;}
.footer-copyright {padding-top:20px; padding-bottom:20px; text-align:center; font-size:13px;}
.footer-copyright p {margin-bottom:0;}

/* page */
.page-header {position:relative; display:flex; justify-content:center; align-items:center; height:250px; background-position:top center; background-size:cover; text-align:center;}
.page-header::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, .4);}
.page-header-overlay {position:relative;}
.page-header-title {margin-bottom:10px; font-weight:700; font-size:25px; color:#fff; line-height:1;}
.page-header-text {margin-bottom:0; color:#fff;}

/* wysiwyg */
.wysiwyg p,
.wysiwyg p:not(:last-child) {margin-bottom:20px;}
.wysiwyg h2 {position:relative; margin-bottom:30px; padding-bottom:15px; text-align:center; font-weight:700; font-size:25px; line-height:1.75;}
.wysiwyg h2::before {position:absolute; content:''; bottom:0; left:calc(50% - 25px); width:50px; height:4px; background-color:#000;}
.wysiwyg h3 {position:relative; margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid #e6e6e6; font-size:18px; line-height:1.75;}
.wysiwyg h3::before {position:absolute; content:''; bottom:-1px; left:0; width:100px; height:1px; background-color:#000;}
.wysiwyg h4 {margin-bottom:20px; font-weight:700; font-size:17px; line-height:1.75;}
.wysiwyg h5 {margin-bottom:20px; font-weight:700; font-size:15px; line-height:1.75;}
.wysiwyg h6 {margin-bottom:10px; font-weight:700; font-size:13px; line-height:1.75;}
.wysiwyg figure {text-align:center;}
.wysiwyg table {width:100%; margin-bottom:30px; border-collapse:collapse; table-layout:fixed;}
.wysiwyg table th,
.wysiwyg table td {padding:7px 15px; vertical-align:middle; border:1px solid #000;}
.wysiwyg table th {background-color:#e6e6e6; text-align:center;}
.wysiwyg table td {}
.wysiwyg table tr:first-child td {background-color:#fff;}

/* wpcf7 */
.wpcf7-list-item {display:block; margin:0;}
.wpcf7-list-item label {position:relative; display:inline-block; cursor:pointer;}
.wpcf7-list-item input[type="radio"],
.wpcf7-list-item input[type="checkbox"] {opacity:0;}
.wpcf7-list-item-label {padding-left:20px;}
input[type="radio"] + .wpcf7-list-item-label::before,
input[type="checkbox"] + .wpcf7-list-item-label::before {content:''; position:absolute; top:5px; left:0; width:20px; height:20px; background-color:#f8f8f8; border-radius:50%;}
input[type="checkbox"] + .wpcf7-list-item-label::before {border-radius:0;}
input[type="radio"]:checked + .wpcf7-list-item-label::after,
input[type="checkbox"]:checked + .wpcf7-list-item-label::after {content:''; position:absolute; top:9px; left:4px; width:12px; height:12px; background-color:#000; border-radius:50%;}
input[type="checkbox"]:checked + .wpcf7-list-item-label::after {border-radius:0;}
.wpcf7 .wpcf7-submit:disabled {opacity:.5;}
.wpcf7-spinner {margin:0 !important;}

/* page */
.page-template-login .section-page {padding-top:50px;}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; max-width:inherit; font-size:14px;}
    p {margin-bottom:30px;}

    /* util */
    .container {min-width:inherit; max-width:inherit; padding-left:30px; padding-right:30px;}

    /* header */
    .header::before {height:50px;}
    .header .navbar-global {position:relative; height:50px; padding:0 30px;}
    .header .navbar-global .navbar-brand a {width:100px; height:25px;}
    .header .navbar-global .navbar-header {position:absolute; top:0; left:0; width:100%; height:100vh; padding-top:50px; padding-bottom:50px; overflow-y:scroll; transform:translateX(-100%); opacity:0; visibility:hidden; transition:all .4s ease-in-out;}
    .header.active .navbar-global .navbar-header {transform:translateX(0); opacity:1; visibility:visible;}
    .header .navbar-global .navbar-header .nav-item:not(:last-child) {margin-right:0;}
    .header .navbar-global .navbar-header .nav-link {position:relative; padding:15px 30px; font-size:14px; color:rgba(255, 255, 255, .5);}
    .header .navbar-global .navbar-toggler {position:absolute; top:0; right:0; width:80px; height:50px; padding:0; border:none;}
    .header .navbar-global .navbar-toggler-bar {position:absolute; content:''; right:calc(50% - 10px); width:20px; height:2px; background-color:#000; transition:all .2s ease-in-out;}
    .header .navbar-global .navbar-toggler-bar:nth-child(1) {top:calc(50% - 6px);}
    .header .navbar-global .navbar-toggler-bar:nth-child(2) {top:50%;}
    .header .navbar-global .navbar-toggler-bar:nth-child(3) {top:calc(50% + 6px);}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar {background-color:#fff;}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(1) {top:50%; transform:rotate(-45deg);}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(2) {opacity:0;}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(3) {top:50%; transform:rotate(45deg);}
    .header .navbar-global::before {position:absolute; content:''; top:0; left:0; width:100%; height:100vh; background-color:#000; transform:translateX(-100%); opacity:0; visibility:hidden; transition:all .2s ease-in-out;}
    .header.active .navbar-global::before {transform:translateX(0); opacity:1; visibility:visible;}

    /* content */
    #content {padding-top:50px;}
}
