/* import */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; background-color:#fff; color:#292929; -webkit-text-size-adjust:none; font-family:'Poppins', 'Kosugi Maru', sans-serif; font-weight:400; font-size:14px; line-height:1.75; letter-spacing:0; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1.75; font-weight:400; font-family:'Poppins', 'Kosugi Maru', sans-serif; color:#292929; letter-spacing:0;}
p {margin:0;}
p:not(:last-child) {margin-bottom:20px;}
ul, ol {margin:0; padding:0 0 0 1.5em;}
a {color:#292929; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#292929;}
figure {margin:0;}
img {vertical-align:middle;}
button {background:none; border:none; color:inherit; transition:all .2s ease-in-out; cursor:pointer;}
small {font-weight:400;}

.breadcrumbs > span {font-size:12px;}
.breadcrumbs > span:not(:last-child) {position:relative; padding-right:40px;}
.breadcrumbs > span:not(:last-child)::before {position:absolute; content:''; top:50%; right:5px; width:30px; height:1px; background-color:#9ca1ae;}
.breadcrumbs > span:nth-child(2) > a {pointer-events:none;}
.breadcrumbs > span > a {color:#9ba0ad;}
.breadcrumbs > span > a:hover {color:#fa811d;}
.breadcrumbs > span > span {color:#fa811d;}

/* util */
.wrapper {}
#content {padding-top:100px;}
.container {min-width:1130px; max-width:1000px; width:100%; margin:auto; padding:0 20px;}
.container-fluid {min-width:1130px; width:100%; margin:auto; padding:0 20px;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.button {cursor:pointer; position:relative; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; min-width:300px; padding:15px 30px; border-radius:60px; background-color:#fa811d; border:none; color:#fff; font-weight:400;}
.button small {font-size:12px;}
.button.line {background-color:#06c755;}
.button.man {background-color:#4870f2;}
.button.woman {background-color:#f24898;}
.button.outline {background-color:#fff; border:2px solid #fa811d; color:#fa811d;}
.button.fluid {width:100%;}
.button.wi {flex-direction:row; gap:10px;}
.button.wi img {width:40px;}
.bg-light {background-color:#ffeee0 !important;}
.bg-white {background-color:#fff !important;}
.text-line {color:#06c755 !important;}
.text-man {color:#4870f2 !important;}
.text-woman {color:#f24898 !important;}
.text-lg {font-size:25px;}
.highlight {background:linear-gradient(transparent 40%, #f3b198 40%); color:#000;}
.disabled {pointer-events:none;}

/* header */
.header {position:fixed; width:100%; height:80px; display:flex; align-items:center; z-index:9999; background-color:#fff; transition:all .3s ease-in-out;}
.header.scrolling {box-shadow:0 0 15px rgba(0, 0, 0, .25);}
.header-inner {width:100%; display:flex; justify-content:space-between; align-items:center; padding:0 20px;}
.header-brand {width:150px; line-height:0; margin:auto auto auto 0; z-index:100;}
.button-hamburger {display:none;}
.header-nav {}
.header-nav-global {display:flex; gap:20px; padding:0; list-style:none;}
.header-nav-global > li > a {position:relative; display:flex; justify-content:center; align-items:center; height:100%; font-size:14px; font-weight:600;}
.header-nav-global > li > a:hover {color:#fa811d;}
.header-nav-global > li > a::before {position:absolute; content:''; bottom:-5px; left:0; width:100%; height:2px; background-color:#fa811d; transform:scaleX(0); transition:all .2s ease-in-out;}
.header-nav-global > li > a:hover::before {transform:scaleX(1);}

/* mod */
.section {position:relative; padding-top:50px; padding-bottom:50px; overflow:hidden;}
.heading {position:relative; margin-bottom:40px; text-align:center; line-height:1;}
.heading > span {display:block;}
.heading-ja {margin-bottom:20px; font-size:35px; color:#fa811d;}
.heading-en {font-size:16px; color:#666;}
.description {position:relative; margin-bottom:40px; text-align:center; font-size:16px;}
.description h3 {margin-bottom:20px;}
.content {position:relative;}
.content:not(:last-child) {margin-bottom:4.166666666666666vw;}
.thumbnail {overflow:hidden; border-radius:10px;}
.more {display:flex; justify-content:center; gap:20px; margin-top:50px;}
.table > table {width:100%; border-collapse:collapse; margin-bottom:10px;}
.table > table th,
.table > table td {padding:10px 20px; background-color:#fff; border:2px solid #eee; text-align:center;}
.table > table thead th {background-color:#fa811d; color:#fff;}
.table > table tbody th {width:33%; text-align:left; background-color:#f6f6f6;}
.table > table tbody td {text-align:left;}
.cf7-form-table label span {color:red; font-size:12px; margin-left:10px;}
.cf7-form-table input[type="text"],
.cf7-form-table input[type="email"],
.cf7-form-table input[type="tel"],
.cf7-form-table select,
.cf7-form-table textarea {width:100%; padding:10px; border:none; background-color:#f6f6f6; border-radius:0;}
.note {padding-left:0; list-style:none; counter-reset:note-counter;}
.note > li {font-size:12px;}
.note > li::before {content:"※" counter(note-counter); counter-increment:note-counter; margin-right:5px;}
.aside {display:flex; justify-content:space-between; align-items:center; gap:40px; margin-bottom:80px; padding:40px; border-radius:10px;}
.aside .text {margin-bottom:0;}
.text-left {text-align:left !important;}
.text-center {text-align:center !important;}
.text-right {text-align:right !important;}
.iframe {position:relative; margin-bottom:10px; padding-top:30%;}
.iframe iframe {position:absolute; top:0; left:0; width:100%; height:100%;}

/* content */
.hero {position:relative;}
.hero-slider {overflow:hidden; border-radius:20px;}
.hero-slider .swiper-slide {display:flex; justify-content:center; align-items:center; width:100%; height:500px; background-color:#fff;}
@keyframes zoomUp {
    0% {
        transform:scale(1);
    }
    100% {
        transform:scale(1.1);
    }
}
.swiper-slide-active .hero-image,
.swiper-slide-duplicate-active .hero-image,
.swiper-slide-prev .hero-image {position:absolute; top:0; left:0; width:100%; height:100%; animation:zoomUp 10s linear 0s normal both; background-position:center center; background-size:cover;}
.hero-overlay {position:relative; z-index:10;}
.hero-overlay h3 {text-align:center; color:#fff; font-size:40px; text-shadow:0 0 15px rgba(0, 0, 0, .75);}

.horizontal-list {display:flex; flex-direction:column; gap:40px;}
.horizontal-list__item {display:flex; gap:40px;}
.horizontal-list__item > .text {flex:1; display:flex; flex-direction:column; justify-content:center;}
.horizontal-list__item > .text h3 {margin-bottom:20px; padding-left:10px; border-left:4px solid #fa811d; font-size:18px; font-weight:600;}
.horizontal-list__item > .thumbnail {flex:1;}
.horizontal-list__item > .thumbnail.sm {flex:0 0 33.333333%;}
.horizontal-list__item:nth-child(even) > .text {order:0;}
.horizontal-list__item:nth-child(even) > .thumbnail {order:1;}

.card-list {display:grid; grid-template-columns:repeat(4, 1fr); gap:40px;}
.card-list__item {display:block; overflow:hidden; border-radius:20px; background-color:#ffeee0; transition:all .2s ease-in-out;}
.card-list__item:hover {box-shadow:0 0 15px rgba(0, 0, 0, .25);}
.card-list__item > .thumbnail {border-radius:0;}
.card-list__item > .text {padding:10px;}
.card-list__item > .text h3 {margin-bottom:10px; text-align:center; font-size:16px; color:#fa811d;}

.guide-flow-list {display:flex; flex-direction:column; gap:20px;}
.guide-flow-list__item {position:relative; margin-bottom:40px; padding:20px; background-color:#ffeee0; border-radius:10px;}
.guide-flow-list__item h3 {margin-bottom:10px; line-height:1; font-size:18px;}
.guide-flow-list__item h3 span {display:inline-flex; justify-content:center; align-items:center; height:25px; margin-right:10px; padding:0 10px; background-color:#fa811d; border-radius:25px; color:#fff;}
.guide-flow-list__item:last-child {margin-bottom:0;}
.guide-flow-list__item:not(:last-child)::before,
.guide-flow-list__item:not(:last-child)::after {content:''; position:absolute; width:2px; height:20px; background-color:#fa811d; bottom:-40px; left:50%;}
.guide-flow-list__item:not(:last-child)::before {transform:translateX(-7px) rotate(-45deg);}
.guide-flow-list__item:not(:last-child)::after {transform:translateX(7px) rotate(45deg);}

.faq-block {max-width:800px; margin:0 auto; padding:20px 0; font-size:16px; line-height:1.8;}
.faq-item {display:flex; align-items:center; gap:10px;}
.faq-item:not(:last-child) {margin-bottom:10px;}
.faq-item:nth-child(1) {padding:5px 10px; background-color:#ffeee0; border-radius:10px;}
.faq-item:nth-child(2) {padding:5px 10px; background-color:#fff; border-radius:10px;}
.faq-label {font-weight:400; font-size:18px; width:2em; text-align:center; flex-shrink:0;}
.faq-q {color:#292929;}
.faq-a {color:#e67336;}
.faq-text {flex:1;}

.cta {position:relative; background:url(../images/cta-bg.jpg) center center / cover no-repeat; color:#fff;}
.cta::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background-color:rgba(250, 129, 29, .85);}
.cta .highlight {background:none; color:#f6ff5f;}
.cta .heading-ja,
.cta .heading-en {color:#fff;}
.cta-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:40px;}
.cta-list__item {display:block; overflow:hidden; text-align:center; border-radius:20px; padding:20px; background-color:#fff; transition:all .2s ease-in-out;}
.cta-list__item:hover {box-shadow:0 0 15px rgba(0, 0, 0, .25);}
.cta-list__item h3 {margin-bottom:10px; color:#fa811d;}
.cta-list__item p {margin-bottom:10px; color:#292929; font-size:14px;}

.company {display:flex; align-items:flex-start; gap:40px;}
.company > .text {flex:1;}
.company > .text table {margin-bottom:0;}
.company > .thumbnail {flex:0 0 250px;}

.footer {padding:30px 0;}
.footer-nav {display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; padding:20px; background-color:#fff; border-radius:20px;}
.footer-nav-brand-logo {margin-bottom:20px;}
.footer-nav-primary {display:grid; grid-template-columns:repeat(3, 1fr); gap:10px 20px; margin-left:auto; padding-left:0; list-style:none;}
.footer-nav-primary > li {font-size:12px;}
.footer-nav-primary > li::before {content:'-'; margin-right:5px;}
.footer-nav-primary > li a:hover {color:#fa811d;}
.footer-inner {display:flex; justify-content:space-between; gap:20px;}
.footer-copyright {font-size:12px;}
.footer-nav-secondary {display:flex; gap:20px; padding-left:0; list-style:none;}
.footer-nav-secondary > li {font-size:12px;}

.-pc {display:block;}
.-sp {display:none;}

.table-list {display:flex; flex-direction:column; gap:50px;}
.table-list__item {}

.faq-text a {text-decoration:underline;}
.faq-text a:hover {text-decoration:none;}

/* page */
.page-header {padding:30px 0; background:#ffeee0 radial-gradient(circle, #fff, #ffeee0);}
.page-header .row {display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:10px;}
.page-header .row > .col:nth-child(1) {flex:1;}
.page-header .row > .col:nth-child(2) {flex:0 0 auto;}
.page-header-title .heading-ja {margin-bottom:0;}
.page-header-title > span {display:block;}
.page-content {margin:80px 0; background-color:#fff; border-radius:20px; padding:50px 30px;}

.table-plan {margin-top:50px;}
.table-event > table {table-layout:inherit; margin-bottom:30px;}
.table-event > table tbody td {text-align:left;}

.fixed {position:fixed; top:100px; right:0; display:flex; flex-direction:column; gap:20px; z-index:1000; opacity:0; visibility:hidden; transition:all .2s ease-in-out;}
body.scrolling .fixed {opacity:1; visibility:visible;}
.fixed > a {display:flex; justify-content:center; align-items:center; gap:5px; padding:20px 10px; color:#fff; border-radius:10px 0 0 10px; writing-mode:vertical-rl; box-shadow:0 0 15px rgba(0, 0, 0, .25); font-size:14px;}
.fixed > a img {width:20px;}
.fixed > a:hover {color:#fff;}
.fixed > a:nth-child(1) {background-color:#06c755;}
.fixed > a:nth-child(2) {background-color:#fa811d;}

.editor a {text-decoration:underline;}
.editor a:hover {text-decoration:none;}
.editor h3 {margin-bottom:20px; padding-left:10px; border-left:4px solid #fa811d; font-size:18px; font-weight:600;}
.editor h4 {margin-bottom:10px; font-size:16px; font-weight:600; color:#fa811d;}
.editor p:not(:last-child) {margin-bottom:30px;}
.editor .wp-block-list {margin-bottom:30px; padding:15px 20px 15px 40px; background-color:#ffeee0; border-radius:10px;}
.editor blockquote {margin:0 0 50px; padding:20px; text-align:center; background-color:#ffeee0; border:2px solid #fa811d; border-radius:10px;}
.editor .wp-block-columns {margin-bottom:50px;}

@media (max-width:1100px) {
    body.open .header {border-radius:0;}
    .button-hamburger {position:relative; display:block; width:50px; height:50px; margin:0; padding:0; background:#fa811d; border:2px solid #fa811d; border-radius:10px; cursor:pointer; z-index:100;}
    .button-hamburger-bar {position:absolute; content:''; left:50%; width:20px; height:2px; background-color:#fff; border-radius:2px; transition:all .2s ease-in-out; transform:translateX(-50%);}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1px);}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .header-nav {display:none; position:absolute; top:60px; left:0; width:100%; padding:20px; background-color:#fff; border-radius:0 0 20px 20px;}
    .header-nav-global {flex-direction:column; gap:10px; height:auto; padding:20px 0; border-radius:10px;}
    .header-nav-global > li > a {justify-content:flex-start; padding:0 20px; font-size:14px;}
    .header-nav-global > li.has-child > a {padding-right:0;}
    .header-nav-global > li.has-child > a::before {right:20px; width:15px; height:15px;}
    .header-nav-global-child {position:static; padding:10px 20px;}
    .header-nav-global-child-list {width:100%; padding:10px; border-radius:10px;}
    .header-nav-global-child-list > li > a {padding:5px 10px; border-radius:5px;}
    .header-nav-global-child-list > li:not(:last-child) {margin-bottom:10px;}
}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; font-size:14px;}
    #content {padding-top:80px;}
    .breadcrumbs > span:not(:last-child) {padding-right:30px;}
    .breadcrumbs > span:not(:last-child)::before {right:5px; width:20px;}

    /* util */
    .container,
    .container-fluid {min-width:inherit; max-width:inherit; padding-left:20px; padding-right:20px;}
    .button {width:100%; height:auto; padding:8px 20px; border-radius:30px; font-size:14px;}
    .button.wi {padding-right:35px;}
    .button.wi::before {right:10px; width:15px; height:15px;}
    .button.sm,
    .button.lg {width:100%; height:auto; border-radius:30px; font-size:14px;}

    /* header */
    .header {min-width:inherit; height:60px;}
    .header-inner {align-items:center; height:60px; padding:0 20px;}
    .header-brand {width:150px; margin:0 auto 0 0;}
    .button-hamburger {width:40px; height:40px;}

    /* mod */
    .section {padding-top:50px; padding-bottom:50px;}
    .page-section {padding-top:80px; padding-bottom:30px;}
    .heading {margin-bottom:30px;}
    .heading-ja {margin-bottom:10px; font-size:18px; line-height:1.5;}
    .heading-en {font-size:14px;}
    .description {margin-bottom:20px !important; font-size:14px;}
    .content:not(:last-child) {margin-bottom:30px;}
    .aside {flex-direction:column; gap:20px; margin-bottom:40px; padding:20px;}
    .table {width:100%; overflow-x:auto;}
    .table > table th,
    .table > table td {padding:10px; white-space:nowrap; font-size:12px;}

    .-pc {display:none;}
    .-sp {display:block;}

    .hero-slider .swiper-slide {align-items:flex-end; height:300px; padding-bottom:20px;}
    .hero-overlay {margin-top:0;}
    .hero-overlay h3 {font-size:18px;}

    /* page */
    .page-header {padding-top:50px;}
    .page-header .row {flex-direction:column; align-items:flex-start; gap:20px;}
    .page-content {margin:50px 0; padding:30px 20px;}

    .horizontal-list {gap:20px;}
    .horizontal-list__item {flex-direction:column; gap:20px;}
    .horizontal-list__item > .thumbnail,
    .horizontal-list__item > .text {flex:1;}
    .horizontal-list__item:nth-child(even) > .thumbnail {order:0;}
    .horizontal-list__item > .text h3 {font-size:18px;}
    .card-list {grid-template-columns:repeat(1, 1fr); gap:20px;}
    .guide-step-list {grid-template-columns:repeat(1, 1fr); gap:20px;}
    .cta-list {grid-template-columns:repeat(1, 1fr); gap:20px;}
    .company {flex-direction:column; gap:20px;}
    .company .table > table th,
    .company .table > table td {white-space:inherit;}
    .company .table > table th {width:30%;}

    .footer-nav {flex-direction:column;}
    .footer-nav-primary {grid-template-columns:repeat(2, 1fr); gap:10px;}
    .footer-inner {flex-direction:column; gap:10px;}
}
