@charset "UTF-8";

/*--- general ---*/
:root{
    --red:#f32c41;
}  
html {scroll-behavior: smooth;}
body {font-family: "Yu Gothic Medium","游ゴシック Medium",YuGothic,"游ゴシック体","ヒラギノ角ゴ Pro W3","メイリオ",sans-serif;}
img {max-width: 100%;}
a {transition: .2s;}
a:hover {opacity: .25;transition: .2s;}
.font-noto{font-family: "noto sans jp",sans-serif;}
.pc{display:inherit;}
.sp{display:none;}

/*--- loading ---*/
#loading {background: var(--red);position: fixed;width: 100%;height: 100%;top: 0;left: 0;right: 0;z-index: 299;display: flex;align-items: center;justify-content: center;}

/*--- header ---*/
.header {position: fixed;top: 0;width: 100%;z-index: 100;}
.header__inner {display: flex;justify-content: space-between;align-items: center;}
.header__logo {width: 170px;padding: 14px 28px 14px 48px;background: var(--red);border-bottom: 2px solid;border-right: 2px solid;transform: skewX(-30deg);position: relative;left: -30px;}
.header__logo a {display: block;transform: skewX(30deg);}
.header__logo img {width: 100%;height: auto;}
.header__button{display:none;}
.header__menu {display: flex;gap: 1em;background: black;color: white;padding: 0.5em 1em 0.5em 2em;align-items: center;clip-path: polygon(calc(0% + .6em) 0,100% 0,100% 100%, 0 100%);}
.header__menu a {font-size: 14px;}

/*--- common ---*/
.contentBody {}
.contentBody:after{position:fixed;display:block;top:0;left:0;z-index:-1;width:100vw;height: 100vh;background: url(/img/bg-red.gif) center/100% 100%;content:"";}
.content__title {margin-bottom: 32px;}
.content__title--white ,
.content__title--red {font-family:'yellowtail';font-size:64px;}
.content__title--white {color:white;}
.content__title--red {color:var(--red);}
.content__title.content-title-center {text-align: center;}
.content__title h2 {font-weight: bold;margin-top: 1em;letter-spacing: .5em;}
.outerlink {display: flex;justify-content: center;border: solid 1px;color: #ff1818;font-size: 15px;font-weight: 700;height: auto;margin: 0px 0px 0px 0px;padding: 16px 40px;text-align: center;width: fit-content;}
.outerlink:after {padding-left: 1em;content: "→";position: relative;left: 0;animation: linkarrow 1s infinite;}
.innerlink {display: flex;justify-content: center;border-radius: 8px;background: white;color: black;font-size: 14px;font-weight: 700;height: auto;margin: 0px 0px 0px 0px;padding: 16px 40px;text-align: center;width: fit-content;}
.innerlink.innerlink-black {background: #400000;color: white;}
.innerlink:after {padding-left: 1em;content: "→";position: relative;left: 0;animation: linkarrow 1s infinite;}

/*--- hero ---*/
.content__hero {}
.hero__inner {max-width: 1048px;padding: 0 48px;height: 100vh;margin: 0 auto;display: flex;align-items: center;justify-content: center;position: relative;}
.hero__catch {width: 100%;text-align: center;z-index: 10;}
.hero__catch h2 {color: white;font-size: 40px;}
.hero__catch h2 span {font-size: 20px;vertical-align: 2px;letter-spacing: .25em;}
.hero__illust {position: absolute;opacity: 0.2;width:100%;max-width: 580px;}
.hero__illust img{mix-blend-mode: screen;width: 100%;object-fit: contain;}
.hero__scrolldown {position: absolute;left: 0;right: 0;margin: 0 auto;text-align: center;display: flex;flex-direction: column;align-items: center;transform-origin: bottom;bottom: 2.99em;gap: 0.6em;animation: 2s scrolldown infinite;}
.hs-text {color: white;}
/*.hs-text:after {content: "";display: block;width: 100%;height: 2px;background: white;}*/
.hs-dot {width: 8px;height: 8px;background: white;border-radius: 100%;}
.hs-triangle {width: 0.5em;height: 0.5em;border: 0.5em solid transparent;border-top-color: white;}
.hero__scrolldown>p:nth-child(2){animation: scrolldown-child 2s infinite 0.2s;}
.hero__scrolldown>p:nth-child(3){animation: scrolldown-child 2s infinite 0.4s;}
.hero__scrolldown>p:nth-child(4){animation: scrolldown-child 2s infinite 0.6s;}

/*--- mission ---*/
.content__mission {padding-top: 32px;}
.mission__inner {max-width: 1028px;margin: 0 auto 32px;padding: 0 48px;}
.mission__text {font-size: 64px;color: white;}
.content__introduction {background: #400000;color: white;}
.introduction__inner {max-width: 1028px;margin: 0 auto;padding: 48px;display: flex;justify-content: space-between;align-items: center;}
.introduction__text {font-size: 18px;font-weight: bold;line-height: 1.5;}
.introduction__link {}

/*--- services ---*/
.content__services {margin: 128px 0;padding-top: 32px;}
.services__inner {max-width: 1028px;margin: 0 auto;padding: 0 48px;}
.services__subtitle {color: white;font-size: 64px;}
.services__all {display: grid;grid-template: 1fr 1fr/1fr 1fr;gap: 2em;}
.services__item {display: flex;flex-direction: column;align-items: center;background: white;padding: 40px;gap: 16px;}
.services__img {width: 80px;perspective: 200px;}
.services__img img {animation: serviceicon 1.75s infinite linear;}
.services__item h3 {font-size: 40px;text-align: center;}
.services__item p {font-size: 15px;line-height: 1.5;}

/*--- value ---*/
.content__value {margin: 128px 0;padding-top: 32px;}
.value__inner {max-width: 1080px;margin: 0px auto;background: white;padding: 120px 80px;}
.value__items {display: flex;gap: 32px;}
.value__item {flex: 1;display: flex;flex-direction: column;}
.value__img {text-align: center;}
.value__item h3 {font-weight: bold;text-align: center;font-size: 20px;margin: 16px 0;color: var(--red);}
.value__item p {font-size: 14px;line-height: 1.5;}

/*-- office --*/
.content__office {margin: 128px 0;padding-top: 32px;}
.office__inner {width: 980px;margin: 0 auto;}
.office__inner h3 {color: white;font-size: 64px;}
.office__images {margin: 40px 0;}
.office__images .swiper-wrapper {padding-bottom: 0;}
.office__images .swiper-slide {width: 60%;max-width: 720px;transition: .5s;transform: scale(0.8);transform-origin: bottom;}
.office__images .swiper-slide p {padding: 0.5em 0;text-align: center;color: white;background: #400000;}
.office__images .swiper-slide img {width: 100%;}
.office__images .swiper-slide.is-active {transition: .5s;transform: scale(1);}
.office__images .swiper-control {position: relative;width: auto;margin: 0 auto;display: flex;align-items: center;justify-content: center;padding: 12px 0;}
.office__images .swiper-pagination {position: unset;bottom: 0!important;height: 1em;width: auto!important;padding: 0 2em;}
.office__images .swiper-pagination-bullet {border-radius: unset;transition: .5s cubic-bezier(0.11, 0.58, 0.58, 1);}
.office__images .swiper-pagination-bullet-active {background: white;transform: scale(1.75);}
.office__images .swiper-button-prev {background-image: url(/img/swiper-prev.png);}
.office__images .swiper-button-next {background-image: url(/img/swiper-next.png);}
.office__images .swiper-button-prev, .office__images .swiper-button-next {width: 18px;height: 18px;position: unset;margin: unset;transition: .2s;background-size: 100% 100%;}
.office__images .swiper-button-prev:after, .office__images .swiper-button-next:after {content: unset;}
.office__images .swiper-button-prev:hover, .office__images .swiper-button-next:hover {opacity: .5;transform: scale(1.4);}

/*--- joinus ---*/
.content__joinus {background: white;}
.joinus__inner {max-width: 968px;margin: 0 auto;padding: 120px 48px;}
.joinus__title {margin-bottom: 64px;}
.joinus__title h2 {font-weight: bold;margin-top: .5em;letter-spacing: .5em;padding: 0 1em;}
.joinus__text {width: 72%;font-size: 18px;font-weight: bold;line-height: 2;margin-bottom: 64px;}
.joinus_link {}
.joinus_link .not-available {display: flex;justify-content: center;border: solid 1px;color: gray;font-size: 15px;font-weight: 700;height: auto;margin: 1em 0;padding: 16px 40px;text-align: center;width: fit-content;}

/*--- company ---*/
.content__company {}
.company__inner {max-width: 968px;margin: 0 auto;padding: 120px 48px;min-height: 100vh;display: flex;flex-direction: column;justify-content: center;position: relative;}
.company__inner:after {content: "";display: block;position: absolute;width: 100%;height: 100%;left: 0;right: 0;top: 0;bottom: 0;margin: auto;background: url(/img/logo.png) no-repeat center/72%;opacity: .1;}
.company__title {margin-bottom: 64px;}
.company__title h2 {font-weight: bold;margin-top: .5em;letter-spacing: .5em;padding: 0 1em;color: white;}
.company__desc {color: white;font-size: 20px;line-height: 1.5;position: relative;z-index: 50;margin-bottom: 64px;}
.company__desc table{width:100%;font-size: clamp(12px,2vw,16px);}
.company__desc tr{border-top: 1px solid #a81d2b;}
.company__desc tr:last-child {border-bottom: 1px solid #a81d2b;}
.company__desc th,
.company__desc td{padding: 1.5em 0;}
.company__desc th{padding-right: 1em;}
.company__desc td{}
.company__access {position: relative;z-index: 50;}
.company__access h3 {color: white;margin-bottom: .5em;}
.access {display: flex;gap: 24px;margin: 24px 0;}
.access__item {width: 100%;}
.access__map {width: 100%;}
.access__map iframe {width: 100%;}

/*--- footer ---*/
.footer {background: #400000;}
.footer__inner {text-align: center;}
.footer__menu {display: flex;gap: 1em;justify-content: center;padding: 1em;}
.footer__menu a {color:white;font-size: 12px;}
.footer__body {width: 299px;margin: 0 auto;padding: 64px 0;}
.footer__body img {width: 100%;height: auto;filter: invert(1);}
.footer__copyright {background: black;color: white;padding: 1em 0;font-size: 14px;color: gray;}
.footer__copyright a {color: #ffffff;}

/*--- subpage ---*/
.subpage__all {overflow: hidden;background: white;}
.subpage__inner {max-width: 960px;margin: 0 auto;padding: 64px 8%;box-sizing: content-box;}
.subpage__title {}
.subpage__body {border-top: 1px solid lightgray;padding-top: 4vw;}
.subpage__text {line-height: 1.6;font-size: 16px;}
.subpage__text img{width:100%;}
.subpage__text h3 {font-size: 1.3em;font-weight: bold;padding: 2em 0;}
.subpage__text h3:after {content: "";display: block;height: 1px;width: 1.5em;background: black;margin-top: .5em;}
.subpage__text h4 {font-size: 1.2em;border-left: 8px solid dimgray;padding-left: .5em;font-weight: bold;margin: 2em 0;}
.subpage__text h5 {font-weight: bold;font-size: 1.1em;margin: 2em 0;}
.subpage__text p {margin: 2em 0;}
.subpage__text ul{list-style: square;padding-left: 1em;}
.subpage__text ol{list-style: auto;padding-left: 1em;}
.subpage__text li{margin: .5em 0;}
.subpage__text blockquote{padding: 2em;border: 1px solid lightgray;border-radius: 8px;background: whitesmoke;}
.subpage__text blockquote p:first-child {margin-top: unset;}
.subpage__text blockquote p:last-child {margin-bottom:unset;}
.subpage__text table {width: 100%;margin: 2em 0;}
.subpage__text table thead {background:whitesmoke;}
.subpage__text tr {border-top: 1px solid lightgray;}
.subpage__text tr:last-child {border-bottom: 1px solid lightgray;}
.subpage__text th,.subpage__text td {padding:.5em;font-size: 0.9em;}
.subpage__text th {}
.subpage__text td {}

.header.in-subpage{background:white;border-bottom: 1px solid lightgray;height: 64px;position: unset;}
.header.in-subpage .header__inner{height:100%;}
.header.in-subpage .header__logo{padding: 12px;height: 100%;width: auto;background: unset;border: unset;position: unset;left: unset;transform: unset;}
.header.in-subpage .header__logo a {transform: unset;}
.header.in-subpage .header__logo a {height: 100%;}
.header.in-subpage .header__logo a img {height: 100%;width: auto;}
.header.in-subpage .header__menu{color:unset;background:unset;padding: 0 2em 0 0;clip-path:unset;}

.footer.in-subpage{background: whitesmoke;}
.footer.in-subpage .footer__menu a {color: gray;}

/* subpage mission */
.subpage_mission__item {max-width: 640px;margin: 40px auto 120px;}
.subpage_mission__text {font-size: 16px;color: black;}
.subpage_mission__text h3 {font-weight: bold;font-size: 2em;margin-bottom: 2em;color: var(--red);text-align: center;line-height: 1.5;}
.subpage_mission__text p {margin: 1.5em 0;line-height: 1.6;text-indent: 1em;}
.subpage_policy__all {display:flex;flex-wrap:wrap;gap:5%;justify-content: space-between;}
.subpage_policy__item {width:45%;margin-bottom: 5%;text-align: center;}
.subpage_policy__item h4 {font-weight: bold;font-size: 1.5em;margin-bottom: 1em;color: var(--red);}
.subpage_policy__item ol li {margin: 1em 0;list-style: dicimal inside;}

.subpage_new-policy__all {display: grid;grid-template-columns: 100%;gap: 2em;}
.subpage_new-policy__item {display: grid;grid-template-columns: 100%;gap: 1em;}
.subpage_new-policy__item:nth-child(1) h4 {background: #ff7f17;}
.subpage_new-policy__item:nth-child(2) h4 {background: #41a667;}
.subpage_new-policy__item h4 {font-weight: bold;color: white;width: fit-content;padding: .4em 1em;letter-spacing: .2em;}
.subpage_new-policy__item ol {display: grid;grid-template-columns: 100%;gap: 1em;font-size: 15px;}
.subpage_new-policy__item li {display:flex;}
.subpage_new-policy__item li span {font-weight: bold;font-size:1.2em;width:1.2em;text-align:right;margin-right:0.6em;}
.subpage_new-policy__item:nth-child(1) li span {color:#ff7f17;flex-shrink: 0;}
.subpage_new-policy__item:nth-child(2) li span {color:#41a667;}


/*--- Modal ---*/
.modal{display: none;height: 100vh;position: fixed;top: 0;width: 100%;z-index:200;}
.modal__bg{background: rgba(0,0,0,0.8);height: 100vh;position: absolute;width: 100%;}
.modal__content{background: #fff;left: 50%;padding: 64px;position: absolute;top: 50%;transform: translate(-50%,-50%);width:1080px;max-height: 80vh;overflow-y: auto;}
.modal-close-btn{width:40px;height:40px;display: block;position: absolute;left: 8px;top: 8px;}
.modal-close-btn span{height:8px;width:100%;display:block;background:black;position:absolute;left:50%;top:50%;}
.modal-close-btn span:nth-child(1){transform:translate(-50%,-50%) rotate(-45deg);}
.modal-close-btn span:nth-child(2){transform:translate(-50%,-50%) rotate(45deg);}
.modal__service {}
.modal__servicetitle {display:flex;align-items:center;justify-content:center;font-size: 56px;margin-bottom:24px;border-bottom:1px solid lightgray;padding-bottom:24px;}
.modal__servicetitle img{height:1.5em;margin-right:.25em;}
.modal__servicetitle h3 {}
.modal__serviceimg{float:left;width:50%;margin:0 1em 1em 0;}
.modal__serviceimg img{width:100%;}
.modal__service p{margin-bottom:1em;line-height:1.5;}
.modal__servicelose {clear: both;text-align: center;padding-top: 2em;}
.modal-close-link {color: var(--red);}







/*--- MediaQuery SP [S] ---*/
@media (max-width: 800px) {

    /* general */

    .pc{display:none;}
    .sp{display:inherit;}

    /*--- header ---*/
    .header {}
    .header__inner {align-items: flex-start;}
    .header__logo {width: 140px;padding: 8px 20px 10px 40px;}
    .header__logo img {}
    .header__button{display:block;height: 32px;width: 40px;position:relative;margin: 16px;z-index: 200;cursor: pointer;}

.header__button:hover {
    opacity: .25;
}
    .header__button span{display:block;background:black;width:100%;height: 2px;position:absolute;transition:.2s;}
    .header__button span:nth-child(1){top:0;}
    .header__button span:nth-child(2){top:0;bottom:0;margin:auto;}
    .header__button span:nth-child(3){bottom:0;}
    .header__button.is-active span{height:8px;background: white;}
    .header__button.is-active span:nth-child(1){bottom:0;margin:auto;transform:rotate(45deg);}
    .header__button.is-active span:nth-child(2){opacity:0;}
    .header__button.is-active span:nth-child(3){top:0;bottom:0;margin:auto;transform:rotate(-45deg);}
    .header__menu {display:none;}
    .header__menu.is-active {display:none;position:fixed;width:100%;height:100vh;top:0;left:0;display:flex;flex-direction: column;height: 100vh;justify-content: center;align-items: center;background: #000000bb;clip-path: unset;}
    .header__menu a {font-size: 6vw;}

    /*--- common ---*/
    .content__title {margin-bottom: 8vw;}
    .content__title img {height: 10vw;}
    .content__title.content-title-center {}
    .content__title h2 {font-size: 4.6vw;letter-spacing: .25em;margin-top: 3vw;}
    .innerlink {}
    .content__title--white ,
    .content__title--red {font-size: 14vw;line-height: 1;}
    
    /*--- hero ---*/
    .hero__inner {width: 100%;height: 86vh;padding: unset;}
    .hero__catch {width: 90%;}
    .hero__catch h2{font-size:7vw;margin-top: 0.299em;}
    .hero__catch h2 span{font-size:4vw;display: block;}
    .hero__illust {top: 50%;transform: translateY(-50%);}
    .hero__scrolldown {
    bottom: .299em;
}

    /*--- mission ---*/
    .content__mission {}
    .mission__inner {margin: unset;padding: 0 8% 8%;}
    .mission__text {font-size: 8vw;}
    .introduction__inner {width: 100%;padding: 8%;flex-direction: column;}
    .introduction__text {font-size: 15px;margin-bottom: 4%;}
    .introduction__text br {display: none;}

    /*--- services ---*/
    .content__services {margin: 0;padding-top: 80px;}
    .services__inner {width: calc(100% - 32px);padding: 0;}
    .services__subtitle {font-size: 8vw;}
    .services__all {
    grid-template: auto/auto;
    gap: 1em;
}
    .services__item {padding: 10% 4%;width: 100%;gap: 8px;}
    .services__img {width: 24%;}
    .services__item h3 {font-size: 7vw;}
    .services__item h3 br {display: none;}
    .services__item p {font-size: 14px;}

    /*--- value ---*/
    .content__value {margin: 0;padding-top: 80px;}
    .value__inner {width: calc(100% - 32px);margin: 0 auto 16px;padding: 64px 8%;}
    .value__items {gap: 4%;flex-direction: column;margin: 0 auto;}
    .value__item {}
    .value__item + .value__item {border-top: 1px solid lightgray;padding-top: 2em;margin-top: 2em;}
    .value__img {width: 72%;margin: 0 auto;}
    .value__img img {width: 100%;}
    .value__item h3 {margin: 4% 0 2%;}
    .value__item p {font-size: 15px;}

    /*-- office --*/
    .content__office {margin: 0;padding-top: 80px;}
    .office__inner {width: 84%;margin: 0 auto 4%;}
    .office__inner h3 {font-size: 8vw;}
    .office__images .swiper-slide {width: 75%;}

    /*--- joinus ---*/
    .joinus__inner {width: 84%;margin: 0 auto 4%;padding: 80px 0;}
    .joinus__text{font-size: 15px;width:unset;}
    .joinus_link .not-available {width:100%;padding: 1em;}

    /*--- company ---*/
    .company__inner {width: 84%;margin: 0 auto;padding: 80px 0;}
    .company__desc {width: 100%;}
    .company__desc p {font-size: 15px;}
    .company__desc h3 {font-size: 20px;}
    .access {flex-direction: column;}
    .access__item {width: 100%;height: 78vw;margin-bottom: 8%;font-size: 14px;}
    .access__map {height: 100%;}
    .access__map iframe {height: 100%;}

    /*--- footer ---*/
    .footer__menu {flex-direction: column;padding: 64px 0;}
    .footer__menu a {font-size: 14px;}

    /*--- subpage ---*/
    .header.in-subpage .header__menu{background: #F32C41cc;}
    .subpage__text {font-size: 14px;}

    /*--- subpage mission ---*/
    .subpage_mission__text h3{font-size:18px;}
    .subpage_mission__text p {font-size: 14px;}
    .subpage_policy__all {flex-wrap: unset;flex-direction: column;gap: 1em;}
    .subpage_policy__item {width: 100%;}

    /*--- Modal ---*/
    .modal__content {width: 90%;padding: 48px 8%;}
    .modal-close-btn{width: 24px;height: 24px;}
    .modal-close-btn span{height:4px;}
    .modal__servicetitle{font-size:7vw;}
    .modal__serviceimg {float: unset;width: 100%;}
    .modal__service p{font-size:14px;}

}

/*--- MediaQuery SP [E] ---*/
/*--- keyframes ---*/

@keyframes scrolldown{
0%,100% {margin-bottom: 0;}
50% {margin-bottom: 1em;}
}

@keyframes scrolldown-child{
0%,40%,60%,100% {transform:scale(1.0)}
50% {transform:scale(1.8)}
}


@keyframes linkarrow {
0%,100% {left: 0;}
50% {left: .55em;}
}

@keyframes serviceicon {
0% {transform: rotateY(0deg) scale(.8)}
30% {transform: rotateY(360deg) scale(.8)}
40% {transform: rotateY(360deg) scale(1.1)}
50% {transform: rotateY(360deg) scale(1)}
80% {transform: rotateY(360deg) scale(1)}
90% {transform: rotateY(360deg) scale(1.1)}
100% {transform: rotateY(360deg) scale(.8)}
}
