/*********

DEFAULT RESET
rogoColor: #171c61
subcolor: #89d5e0

**********/
html {
-webkit-text-size-adjust: 100%;
width: 100%;
font-size: 62.5%;
}
body {
width: 100%;
font-family: 'Noto Sans JP', ' ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', ' メイリオ ', Meiryo, 'MS Pゴシック ', 'MS PGothic', sans-serif;
padding: 0;
margin: 0 auto;
font-size: 1.4rem;
line-height: 1.82;
letter-spacing: 0.1em;
color: #000;
background: #fff;
position: relative;
user-select:none;
-webkit-user-select:none;
-ms-user-select: none;
-moz-user-select:none;
-khtml-user-select:none;
-webkit-user-drag:none;
-khtml-user-drag:none;
}
body.scrolloff {
height: 100%;
position: fixed;
left: 0;
}
body * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
a {
text-decoration: none;
}
a:hover,
a:active,
a:focus {
outline: none;
}
div, ul, ol, dl, dt, dd,
h1, h2, h3, h4, h5, h6,
header, footer, nav, section, article,
form,
img, figure, picture {
display: block;
margin: 0 auto;
padding: 0;
border: none;
-ms-interpolation-mode: bicubic;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 600;
line-height: 1.24;
}
figure img {
width: 100%;
height: auto;
}
dl, ul, ol {
list-style-type: none;
margin: 0;
padding: 0;
}
table {
width: 100%;
margin: 1em 0;
padding: 0;
word-break: break-all;
word-wrap: break-word;
border-collapse: collapse;
border-spacing: 0;
}
*:before, *:after {
box-sizing: inherit;
}
@media screen and (min-width: 768px) {
body {
font-size: 1.5rem;
}
a[href^="tel:"] {
pointer-events: none;
}
}
@media screen and (min-width: 992px) {
body {
font-size: 1.6rem;
}
.l_main__content {
overflow: hidden;
}
}

/*********

HEADER / FOOTER

**********/
.l_header {
width: 100%;
min-height: 60px;
background: rgba(255,255,255,1);
position: fixed;
top: 0;
left: 0;
z-index: 10;
}
.l_header__inner {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
margin: 0 auto;
padding: 1.4vw 5vw;
}
.l_header__logo {
margin: 0 auto 0 0;
}
.l_header__logo img {
max-height: 38px;
width: auto;
margin: 0;
}
.top_phone__num {
display: none;
}
.l_header__nav {
width: 100%;
height: 100vh;
background: #171c61;
padding: 0 3.2vw;
transition: 0.5s;
z-index: 9999;
position: fixed;
top: 65px;
left: -100%;
bottom: 0;
}
.l_header__nav.is_open {
left: 0;
}
.nav_modalWrap {
height: calc(100vh - 65px);
padding-bottom: 1.68rem;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.nav_modalWrap > ul > li {
border-top: 1px solid rgba(255,255,255,0.5);
}
.nav_modalWrap > ul > li:last-child {
border-bottom: 1px solid rgba(255,255,255,0.5);
}
.nav_modalWrap > ul a {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
line-height: 1.24;
font-size: 1.48rem;
font-weight: 600;
padding: 1.6rem 2.2rem;
text-align: left;
color: #fff;
}
.nav_modalWrap > ul a::after {
content: '\e5cc';
font-family: 'Material Icons Outlined';
}
.nav_modalWrap .parent > a::after {
display: none;
}
.l_header__nav ul.child__navi a {
font-size: 1.36rem;
font-weight: normal;
padding: 0.5rem 0 0.5rem 2.2rem;
-webkit-justify-content: flex-start;
-moz-justify-content: flex-start;
justify-content: flex-start;
gap: 0.5rem;
}
.nav_modalWrap ul.child__navi a::before {
content: '-';
}
.nav_modalWrap ul.child__navi {
margin-bottom: 1.6rem;
}
.nav_modalWrap ul.gchild__navi a {
padding-left: 3.8rem;
}
.nav_modalWrap ul.gchild__navi a::before {
content: '--';
}
.l_footer {
margin: auto;
padding: 3.24vw 5vw calc(2.4vw + 100px);
background: #3c3c3c;
color: #fff;
}
.ft__info {
background: url('../images/rogo_wh.png') no-repeat;
background-size: 62px auto;
padding-left: 74px;
font-size: 1.58rem;
line-height: 1.43;
}
.ft__info > dt {
font-weight: 600;
}
.ft__info > dd {
display: block;
}
.ft__info > dd.ft_open,
.ft__info > dd.ft_address {
font-size: 1.2rem;
}
.ft__nav_item {
margin: 1.6rem 0;
}
.l_footer__nav a {
color: #fff;
font-size: 1.4rem;
font-weight: 600;
padding: 0.11rem 0;
}
.ft__nav_child {
padding-left: 1.5rem;
position: relative;
}
.ft__nav_child::before {
content: "";
width: 1px;
height: 100%;
background: #fff;
position: absolute;
top: 0;
left: 0;
}
.ft__snsLink {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: center;
-moz-justify-content: center;
justify-content: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1.2rem;
}
.ft__snsLink > li {
width: 40px;
}
.footer__cp {
display: block;
font-size: 0.82rem;
text-align: center;
margin: 1.4vh auto 0;
}
.ft__cta {
width: 100%;
height: auto;
max-height: 50px;
margin: 0;
padding: 0;
background: #171c61;
border-radius: 0.4rem 0.4rem 0 0;
line-height: 1.28;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
position: fixed;
bottom: -50px;
left: 0;
overflow: hidden;
transition: 0.3s;
z-index: 99;
}
.ft__cta > li {
width: 45%;
}
.ft__cta > li.pagetop {
width: 50px;
}
.ft__cta > li:nth-child(2) {
border-left: 1px solid rgba(255,255,255,0.5);
}
.ft__cta.cta_open {
bottom: 0;
}
.ft__cta a {
display: block;
font-size: 1.2rem;
font-weight: 600;
color: #fff;
padding: 1.4rem 0;
text-align: center;
}
.pagetop > a {
padding: 0;
}
.pagetop__btn {
display: block;
background: #8fbadb;
width: 50px;
height: 50px;
position: relative;
}
.pagetop__btn::after {
content: '';
width: 12px;
height: 12px;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
.l_header__inner {
padding: 2vw 7.5vw;
}
.l_header__logo img {
max-height: 50px;
}
.l_header__nav {
width: 60%;
top: 82px;
}
.nav_modalWrap > ul {
max-width: 600px;
margin: auto;
}
.l_footer {
padding: 3.6vw 7.5vw;
}
.ft__info > dt {
font-size: 1.84rem;
}
.ft__info > dd {
font-size: 1.64rem;
}
.l_footer__nav {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
flex-wrap: wrap;
gap: 1.48rem;
}
.l_footer__nav_item {
width: calc(50% - 1.48rem);
}
.ft__cta {
background: none;
left: 87%;
}
.ft__cta.cta_open {
bottom: 3vw;
}
.ft__cta > li:nth-child(1),
.ft__cta > li:nth-child(2) {
display: none;
}
}
@media screen and (min-width: 992px) {
.l_footer {
padding: 7.5vw;
}
.l_header__inner {
margin-left: 4vw;
padding: 1.82rem 0;
gap: 3.5vw;
}
.l_header__logo {
width: 230px;
}
.l_header__nav {
height: auto;
background: none;
width: calc(100% - 230px);
margin-right: 0;
padding: 0;
text-align: right;
position: static;
}
.nav_modalWrap {
height: auto;
padding-bottom: 0;
overflow: unset;
}
.nav_modalWrap > ul {
max-width: 100%;
background: #f9f9f9;
border: 1px solid #e9e9e9;
padding: 0 0 0 1.64rem;
border-radius: 1.2rem 0 0 1.2rem;
margin-right: -1px;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
flex-wrap: wrap;
gap: 1.2vw;
}
.nav_modalWrap > ul > li,
.nav_modalWrap > ul > li:last-child {
border: none;
position: relative;
}
.nav_modalWrap > ul a {
line-height: 1;
font-size: 1.4rem;
padding: 1.6rem 0;
text-align: left;
color: #000;
cursor: pointer;
}
.nav_modalWrap .parent > a::after {
display: block;
transform: rotate(90deg);
transition: .3s;
}
.nav_modalWrap ul.child__navi {
display: block;
margin-bottom: 0;
background: #fff;
width: 800px;
opacity: 0;
transition: all 0.4s;
position: absolute;
top: 100%;
left: 100%;
}
.nav_modalWrap ul.child__navi.child_open {
opacity: 1;
left: 0;
}
.nav_modalWrap ul.child__navi a {
padding: 1rem 2rem;
transition: all 0.3s;
}
.nav_modalWrap ul.child__navi a:hover {
color: #ff6a48;
}
.nav_modalWrap li.child {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: flex-start;
-moz-justify-content: flex-start;
justify-content: flex-start;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1.6rem;
}
.nav_modalWrap ul.gchild__navi {
display: none;
}
.nav_modalWrap ul.gchild__navi.gchild_open {
display: block;
}

.ft__info > dd.ft_address > br {
display: none;
}
.l_footer__nav {
margin-top: 2.4rem;
gap: 1.6rem;
}
.l_footer__nav_item {
width: unset;
}
.ft__nav_child a {
font-size: 1.3rem;
font-weight: normal;
padding: 0;
}
}




/*********

COMOONSTYLE

**********/
.l_main__content {
padding-top: 60px;
overflow: hidden;
}
.cont__wrapper > section:not(#fstview) {
padding: 5vw;
position: relative;
}
h2.sec__title {
line-height: 1;
margin-bottom: 3.46rem;
letter-spacing: 0;
}
h2.sec__title .ttl__en {
display: inline-block;
font-size: 1.4rem;
font-weight: normal;
color: #171c61;
border-top: 1px solid #171c61;
padding-top: 0.84rem;
margin-bottom: 1.48rem;
}
.sec__title .ttl__jp {
display: block;
font-weight: 600;
font-size: 2.24rem;
}
.backwrap__color {
width: 100%;
height: 100%;
background: rgba(255,255,255,0.2);
position: absolute;
top: 0;
left: 0;
}
small.cap__txt {
font-size: 0.9rem;
}
.mores__btn {
margin: 1.6rem 0 0;
text-align: right;
}
.mores__btn > a {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-justify-content: flex-end;
-moz-justify-content: flex-end;
justify-content: flex-end;
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
font-weight: 600;
color: #171c61;
gap: 1.2rem;
transition: all 0.3s;
}
.arrow {
position: relative;
width: 44px;
height: 44px;
}
.arrow__circle {
width: 100%;
height: 100%;
background-color: #171c61;
-webkit-clip-path: circle(50% at 50% 50%);
clip-path: circle(50% at 50% 50%);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.arrow__circle::after {
display: block;
content: '\e5c8';
font-family: 'Material Icons';
color: #fff;
font-size: 2.4rem;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
transition: all 0.3s;
}
@media screen and (min-width: 768px) {
.cont__wrapper > section:not(#fstview) {
padding: 7.5vw;
}
.l_main__content {
padding-top: 80px;
}
h2.sec__title .ttl__en {
font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}
.sec__title .ttl__jp {
font-size: clamp(3.4rem, 3.4vw, 3.8rem);
}
.common__lead {
font-size: clamp(2rem, 4.8vw, 2.2rem);
}
small.cap__txt {
font-size: clamp(0.9rem, 1vw, 1.1rem);
}
}
@media screen and (min-width: 992px) {
.cont__wrapper > section:not(#fstview) {
max-width: 1040px;
padding: 65px 6.2vw;
}
h2.sec__title .ttl__en {
font-size: clamp(1.6rem, 1.6vw, 2rem);
}
.sec__title .ttl__jp {
font-size: clamp(3.8rem, 3.8vw, 4.2rem);
}
.common__lead {
font-size: clamp(2.3rem, 6vw, 2.8rem);
}
small.cap__txt {
font-size: clamp(1.2rem, 1.2vw, 1.4rem);
}
.mores__btn > a {
position: relative;
overflow: hidden;
}
.mores__btn > a::before {
content: '';
width: calc(100% - 3px);
height: 2px;
background: #171c61;
border-radius: 1px;
position: absolute;
left: 100%;
bottom: 0rem;
opacity: 0;
}
.mores__btn > a::before,
.mores__btn > a:hover .arrow__circle,
.mores__btn > a:hover .arrow__circle::after {
transition: all 0.3s;
}
.mores__btn > a:hover::before {
left: 0;
opacity: 1;
}
.mores__btn > a:hover .arrow__circle {
width: 33%;
height: 33%;
}
.mores__btn > a:hover .arrow__circle::after {
opacity: 0;
transform: translate(100%,-50%);
}
}
@media screen and (min-width: 1040px) {
.cont__wrapper > section:not(#fstview) {
padding: 80px 7.5vw;
}
.l_header__inner,
.ft__wrapper,
.cont__wrapper > section:not(#fstview) {
padding-left: 0;
padding-right: 0;
}
}





/** INDEX PARTS **/
#fstview {
background: #171c61;
color: #fff;
padding-bottom: 20%;
margin-bottom: 10%;
overflow: hidden;
position: relative;
}
.fv__cahtch {
padding: 6.5vw;
}
.fv__cahtchMain {
font-size: 4.2rem;
font-weight: 900;
line-height: 1.42;
}
.swiper-wrapper img {
width: 100%;
height: auto;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
overflow: hidden;
}
.slideCapt {
font-weight: 600;
padding: 3px 5.25vw;
}
.slideCapt::after {
content: '';
display: block;
width: 33.333%;
height: 3px;
background: rgba(255,255,255,0.48);
transform: translateY(-50%);
}
.wave1,
.wave2 {
width: 105vw;
position: absolute;
left: 0;
}
.wave1 {
bottom: 1.8vw;
}
.wave2 {
bottom: -3vw;
left: -1vw;
transform: rotate(-1.2deg);
}
@media screen and (min-width: 768px) {
#fstview {
padding-bottom: 18.7%;
}
.fvSlider {
width: calc(100% - 45vw);
height: calc(100% - 6.5vw);
margin: auto 0 auto auto; 
overflow: hidden;
position: absolute;
top: 50%;
right: 0;
transform: translateY(-50%);
}
.fvSlider .swiper-slide picture,
.fvSlider .swiper-slide img {
display: block;
border-radius: 5vw 0 0 5vw;
overflow: hidden;
}
}
@media screen and (min-width: 992px) {
#fstview {
margin-bottom: 0;
}
.fv__inner {
max-width: 1240px;
margin: 0 auto;
position: relative;
}
.fv__cahtch {
padding: 6.5vw 60px;
position: relative;
z-index: 2;
}
.fv__cahtchMain {
font-size: clamp(4.2rem, 6.8vw, 6.8rem);
}
.fv__cahtchSub {
font-size: clamp(1.6rem, 2vw, 2rem);
}
.fvSlider {
width: 46%;
max-width: 50%;
height: auto;
top: 6.5vw;
right: 60px;
transform: translateY(0);
}
.fvSlider .swiper-slide picture,
.fvSlider .swiper-slide img {
border-radius: 35px;
}
.slideCapt {
padding: 5px 1.6rem;
font-size: clamp(1.6rem, 2vw, 2rem);
}
.fvFoot {
margin-top: 20%;
}
}

/*** ABOUTUS **/
#aboutus {
padding-top: 0 !important;
margin-top: -5.5vw;
}
@media screen and (min-width: 992px) {
#aboutus {
padding-top: 0 !important;
margin-top: 0;
}
}


/*** NEWSINDEX **/
.news_postlist li {
border-top: 1px solid #f0f0f0;
border-bottom: 1px solid #f0f0f0;
margin-top: -1px;
padding: 1.4rem 0;
}
.news_postlist a {
display: block;
color: #000;
text-align: left;
}
.post_stamp {
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: inline-flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1rem;
font-size: 1.24rem;
line-height: 1.48;
}
.tName_tag::before {
content: '■';
color: #171c61;
}
.tName_tag.care::before {
color: #8fbadb;
}
.tName_tag.studio::before {
color: #f4ba80;
}
.news_postlist time {
font-family: "Poppins", sans-serif;
font-weight: 500;
color: #5f5f5f;
}
.news_postlist time::before {
content: '/';
margin-right: 1rem;
}
.posted_ttl {
font-size: 1.52rem;
font-weight: 600;
margin-bottom: 1.4rem;
}
.postThumb {
padding: 0 1.2rem;
}
.postThumb img {
width: 100%;
height: auto;
border-radius: 1rem;
aspect-ratio: 16/9;
object-fit: cover;
object-position: center;
overflow: hidden;
}
@media screen and (min-width: 768px) {
.news_postlist a {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
gap: 1.64rem;
}
.news_postlist li {
padding: 1.5rem 0;
}
.post_ms {
margin-left: 0;
width: 70%;
}
.posted_ttl {
font-size: 1.6rem;
}
.postThumb {
padding: 0;
width: 30%;
}
}
@media screen and (min-width: 992px) {
.news_postlist a {
gap: 1.82rem;
}
.news_postlist li {
padding: 1.6rem 0;
}
.post_stamp {
font-size: clamp(1.3rem, 1.5vw, 1.5rem);
}
.posted_ttl {
font-size: clamp(1.6rem, 2.2vw, 2.2rem);
}
}


/*** SERVICE **/
.cont__wrapper > section#service {
padding-bottom: 0;
}
.svc__item {
background-color: #8fbadb;
color: #fff;
width: 100vw;
margin: 0 calc(50% - 50vw);
padding: 5vw;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: center;
-moz-justify-content: center;
justify-content: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-flex-direction: column;
-moz-flex-direction: column;
flex-direction: column;
gap: 4.8rem;
position: relative;
overflow: hidden;
}
.svc__item::before,
.svc__item::after {
content: '';
display: block;
position: absolute;
z-index: 1;
}
.svc__item::before {
width: 70%;
height: 50%;
background-color: rgba(255,255,255,0.1);
border-radius: 0 100% 0 0;
top: 50%;
left: 0;
}
.svc__item::after {
width: 50%;
height: 30%;
background-color: rgba(0,0,0,0.078);
border-radius: 100% 0 0 0;
top: 70%;
right: 0;
}
#service .svc__item:nth-child(1)::after {
background: rgba(0,0,0,0.2);
}
#service .svc__item:nth-child(2) {
background: #171c61;
}
#service .svc__item:nth-child(2)::before {
border-radius: 100% 0 0 0;
left: auto;
right: 0;
}
#service .svc__item:nth-child(2)::after {
border-radius: 0 100% 0 0;
left: 0;
}
#service .svc__item:nth-child(3) {
background: #f4ba80;
}
.svc__item picture img {
width: 100%;
height: auto;
border-radius: 3vh;
aspect-ratio: 1 / 1;
object-fit: cover;
object-position: center;
overflow: hidden;
}
.svc__cate {
color: rgba(242,240,213,1);
}
.svc__catch {
font-size: 1.6rem;
font-weight: 600;
line-height: 1.48;
}
.svc__name {
font-weight: 700;
font-size: 2.8rem;
margin: 1.4rem 0 2.8rem;
line-height: 1.35;
}
.sv_inlist {
margin-bottom: 1.8rem;
font-weight: 600;
}
.sv_inlist > dt::before {
content: "●";
margin-right: 0.5rem;
}
.sv_inlist > dd {
display: inline-block;
*display: inline;
*zoom: 1;
vertical-align: middle;
}
.sv_inlist > dd::after {
content: "/";
margin: 0 0.5rem;
}
.sv_inlist > dd:last-child::after {
display: none;
}
.goto__card {
position: relative;
z-index: 2;
}
.goto__card > a {
color: #fff;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1.4rem;
}
.goto__card__txt {
font-size: 1.4rem;
line-height: 1.3;
width: calc(100% - 70px);
padding-left: 1.8rem;
position: relative;
}
.goto__card__txt::before {
content: "";
width: 1px;
height: 100%;
background: #fff;
position: absolute;
top: 0;
left: 0;
}
.goto__card__arrow {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: center;
-moz-justify-content: center;
justify-content: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
width: 56px;
height: 56px;
background: #fff;
border-radius: 50%;
transition: 0.3s;
}
.goto__card__arrow::after {
content: '';
width: 16px;
height: 16px;
border-top: 4px solid #171c61;
border-right: 4px solid #171c61;
transform: translateX(-4px) rotate(45deg);
transition: 0.3s;
}
#service .svc__item:nth-child(1) .goto__card__arrow::after {
border-color: #8fbadb;
}
#service .svc__item:nth-child(3) .goto__card__arrow::after {
border-color: #f4ba80;
}
@media screen and (min-width: 768px) {
.svc__item {
padding: 7.5vw;
}
.svc__item::before {
width: 75%;
height: 70%;
top: 30%;
}
.svc__item::after {
width: 40%;
}
}
@media screen and (min-width: 992px) {
.svc__item {
-webkit-flex-direction: row;
-moz-flex-direction: row;
flex-direction: row;
}
.svc__item::before {
width: 100%;
height: 90%;
top: 10%;
}
.svc__item::after {
width: 30%;
height: 50%;
top: 50%;
}
.goto__card > a:hover .goto__card__arrow {
background: rgba(255,255,255,0.78);
transform: translateX(5px);
}
}



/** ABOUTUS **/
.about__images {
display: grid;
width: 100%;
height: 100%;
grid-template-columns: 1fr 1fr 2.75fr;
grid-template-rows: 57% 43%;
gap: 2vw;
}
.about__block img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0.5rem;
}
.about__block.img1 {
grid-column: 1/3;
grid-row: 1/2;
}
.about__block.img2 {
grid-column: 1/2;
}
.about__block.img3 {
grid-column: 2/3;
}
.about__block.img4 {
display: block;
grid-column: 3/5;
grid-row: 1/3;
}
.about__block.img4 img {
border-radius: 1rem 0 0 1rem;
}
@media screen and (min-width: 992px) {
.about__images {
width: calc(100% / 2);
height: calc(100% / 2 + 65px);
grid-template-columns: 1fr 1fr 2fr;
gap: 1.4rem;
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%);
}
}

/** RECRUIT **/
.cont__wrapper > section#cRecruit {
padding-top: 0;
padding-bottom: 0;
}
.recfixImage {
margin: 0 calc(50% - 50vw);
width: 100vw;
}
.recfixImage img {
width: 100%;
height: auto;
aspect-ratio: 3/1.8;
object-fit: cover;
object-position: center;
overflow: hidden;
}
.recfixText {
padding-top: 2.4rem;
position: relative;
}
.togetherText {
font-family: "Allura", cursive;
font-weight: 400;
font-size: 21.6vw;
line-height: 0.62;
transform: rotate(-8.4deg);
color: #142c6a;
mix-blend-mode: difference;
position: absolute;
top: -0.28em;
right: 3.5vw;
z-index: 1;
}
@media screen and (min-width: 768px) {
.recfixImage img {
aspect-ratio: 3/1;
}
.recfixText {
padding-top: 7.5vw;
}
.togetherText {
font-size: 18.4vw;
top: 2.8vw;
}
}
@media screen and (min-width: 992px) {
.togetherText {
font-size: max(min(18.4vw, 1em), 26rem);
right: 0;
}
}


/** CONTACT **/
#cContact {
background: url('../images/toi_back.png') center;
background-size: cover;
color: #fff;
padding: 0 !important;
}
#cContact .backwrap__color {
background: rgba(23,28,97,0.3);
width: 100vw;
margin: 0 calc(50% - 50vw);
padding: 8.64vw 5vw;
position: relative;
}
#cContact h2.sec__title .ttl__en {
color: #fff;
border-top-color: #fff;
}
.cContact__inn_wrap {
width: 98%;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-justify-content: center;
-moz-justify-content: center;
justify-content: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-flex-direction: column;
-moz-flex-direction: column;
flex-direction: column;
gap: 1.4rem;
margin: auto;
}
.cContact__text {
line-height: 1.62;
}
.cContact__innItem {
background: #f6f2e4;
border-radius: 2.8vw;
color: #4f4844;
padding: 5vw; 
text-align: center;
}
.cContact__tel {
display: inline-block;	
font-size: 1.46rem;
border-top: solid 1px #000;
border-bottom: solid 1px #000;
padding: 1rem 1.84rem;
}
.cContact__telNum {
margin: 1.28rem auto 0;
font-size: 3.2rem;
font-weight: 700;
letter-spacing: 0;
line-height: 1.24;
}
.cContact__telNum a {
color: #4f4844;
}
.cContact__telOpen {
display: inline-block;	
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.68;
padding: 0 1.2rem; 
border-radius: 3rem;
background: #fff;
}
a.cContact__btn {
display: block;	
text-align: left;
background: #171c61;
color: #fff;
border-radius: 1.2rem;
border: 1px solid #171c61;
margin-top: 1.42rem;
padding: 1.64rem; 
padding-right: 90px; 
font-size: 1.46rem;
font-weight: 600;
position: relative;
overflow: hidden;
z-index: 1;
}
a.cContact__btn::before,
a.cContact__btn::after {
content: '';	
display: block;
position: absolute;
z-index: 2;
}
a.cContact__btn::before {
width: 110px;
height: 110px;
border-radius: 50%;
background: #fff;
top: 50%;
right: 0;
transform: translateX(33.333%) translateY(-50%);
}
a.cContact__btn::after {
color: #171c61;
content: '\e037';
font-family: 'Material Icons';
font-size: 1.86rem;
top: 50%;
right: 1.86rem;
transform: translateY(-50%);
}
.txt__uline::after {
content: '';	
display: block;
width: 100%;
height: 5px;
border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
#cContact .backwrap__color {
padding: 7.5vw;
}
}
@media screen and (min-width: 992px) {
#cContact {
max-width: 100% !important;
}
#cContact .backwrap__color {
padding: 6.2vw;
}
#cContact h2.sec__title {
max-width: 1040px;
magin-left: auto;
magin-right: auto;
}
.cContact__inn_wrap {
-webkit-flex-direction: row;
-moz-flex-direction: row;
flex-direction: row;
}
}






/* トグルスイッチ */
.l_header__menu {
margin: 0 0 0 auto;
}
.toggleSwitch {
text-align: center;
font-size: 1.36rem;
font-weight: bold;
letter-spacing: 0;
width: 120px;
height: 40px;
line-height: 1;
background: #fff;
position: relative;
}
.toggleSwitch label {
display: block;
height: 40px;
border: 2px solid #dfdfdf;
border-radius: 60px;
}
.toggleSwitch label span:after {
content: "メニュー";
padding: 0 40px 0 0;
line-height: 36px;
}
.toggleSwitch #swc__btn {
width: 36px;
height: 36px;
background: #f4f4f4;
border-radius: 50%;
position: absolute;
top: 2px;
right: 2px;
transition: .2s;
}
.toggleSwitch #swc__btn::after {
font-family: 'Material Icons Outlined';
content: '\eac9';
font-size: 1.84rem;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(180deg);
}
.toggleSwitch.menu_open label {
border-color: #171c61;
}
.toggleSwitch.menu_open label span:after {
content: "閉じる";
padding: 0 0 0 40px;
color: #171c61;
line-height: 36px;
}
.toggleSwitch.menu_open #swc__btn {
right: calc(100% - 38px);
background: #171c61;
}
.toggleSwitch.menu_open #swc__btn::after {
font-family: 'Material Icons Outlined';
content: '\eac9';
transform: translate(-50%, -50%) rotate(0);
color: #fff;
}
@media screen and (min-width: 992px) {
.l_header__menu {
display: none;
}
}

/* モーダル内サブ */
.cContact__innItem.modalin {
margin-top: 1.48rem;
}
@media screen and (min-width: 992px) {
.cContact__innItem.modalin {
display: none;
}
}