:root {
    --primary-color: #FECFDE; /* FDBBCD FEC6E0 FECFDE */ 
    --secondary-color: #23A02B;
    --text-color: #302520;
    --hover-text-color: var(--secondary-color);
}
body {
    font-family: "Noto Sans JP";
    font-size: 18px;
    color: var(--text-color);
    background-color: #FFF;
}
.noto-sans-jp-800 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
}
.shippori-mincho-800 {
    font-family: "Shippori Mincho", serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
}
a {
    color: var(--text-color);
    text-decoration: none;
}
a:hover {
    color: var(--hover-text-color);
}
.inView {
    opacity: 0;
}
.inView.isShow {
    animation-name: fadeInAnm;
    animation-duration: .6s;
    animation-timing-function: ease-in-out;
    animation-delay: .4s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
}
@keyframes fadeInAnm {
    0% {
        transform: translateY(50px);
    } 100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.pt-6 { padding-top: 6rem !important; }
.pt-7 { padding-top: 7rem !important; }
.pb-6 { padding-bottom: 6rem !important;}
.pb-7 { padding-bottom: 7rem !important;}
.mt-6 { margin-top: 6rem !important; }
.mt-7 { margin-top: 7rem !important; }

.font_sm {
    font-size: 0.875rem;
}

/* ■■■■■■■　main　■■■■■■ */
.main_container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.ouen_msg {
    line-height: 1.7;
}
.ouen_auth_name {
    letter-spacing: .25rem;
}
.ouen_auth_img {
    object-fit: cover;
    object-position: 50% top;
    width: 50%;
    height: 12rem;
}
@media (min-width: 576px){
    .ouen_auth_img {
        height: 15rem;
    }
}
@media (min-width: 768px){
    .ouen_auth_img {
        width: 100%;
        height: 12rem;
    }
}
@media (min-width: 992px){
    .ouen_auth_img {
        height: 16.5rem;
    }
}
@media (min-width: 1200px){ 
    .ouen_auth_img {
        height: 19rem;
    }
}
.bkimg_pink {
    background-image: url("../img/gradation.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}
/* linear-gradient(rgba(255,255,255,0.9), rgba(255,255,255,0.9)), */
.bkimg_sakura1 {
    background-image: url("../img/sakura3-2.png");
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: 9%;
    background-size: 75vw;
}
.bkimg_sakura2 {
    background-image: url("../img/sakura2-2.png");
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: 91%;
    background-size: 60vw;
}
@media (min-width: 576px){
    .bkimg_sakura1 { background-size: 50vw; }
    .bkimg_sakura2 { background-size: 40vw; }}
@media (min-width: 768px){
    .bkimg_sakura1 { background-size: 50vw; }
    .bkimg_sakura2 { background-size: 40vw; }}
@media (min-width: 1200px){ 
    .bkimg_sakura1 { background-size: 50vw; }
    .bkimg_sakura2 { background-size: 40vw; }}

.table_career td {
    white-space: nowrap;
}
.table_career td:last-child{
    padding-left: 1rem;
    white-space: normal;
}
h5.color_green {
    font-weight: bold;
}
@media (min-width: 768px){
    h5 {
        font-size: 1.4rem;
    }
}
.color_green {
    color: var(--secondary-color);
}
.policy_en {
    font-size: 0.875rem;
}
.ul_wide {
    margin-top: 1rem;
    margin-bottom: 0;
    padding-left: 1.1rem;
}
.ul_wide li{
    margin-top: .9rem;
}
.policy_img {
    width: 100%;
}

.mail_btn {
    display: inline-block;
    position: relative;
    /*background-image: url("../img/gradation.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position-y: bottom;*/
    background-color: var(--primary-color);
    border-radius: .5rem;
    padding: .5rem 5rem .5rem 2rem;
    font-size: 1.25rem;
}
.mail_btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 3rem;
    width: 1rem;
    height: .5rem;
    border: none;
    border-right: 1px solid var(--text-color);
    border-bottom: 1px solid var(--text-color);
    transform: skew(45deg);
    transition: .3s;
}
.mail_btn:hover::after {
    right: 2rem;
    width: 2rem;
}
@media (min-width: 576px){
    .mail_btn {
        padding: .5rem 7rem .5rem 2.5rem;
        font-size: 1.5rem;
    }
    .mail_btn::after {
        right: 3.5rem;
        width: 2rem;
    }
    .mail_btn:hover::after {
        right: 2rem;
        width: 3.5rem;
    }
}
.mail_btn_sm {
    display: inline-block;
    border: solid 2.5px var(--text-color);
    border-radius: .5rem;
    padding: .55rem 1.25rem;
}
.mail_btn_icon {
    font-size: 1.7rem;
    line-height: 1rem;
}
/* ■■■■■■■　header　■■■■■■ */
.whole_nav {
    background-color: rgba(255,255,255,0.72);
}
.fadeIn {
    display: none;
}
.hero_relative {
    position: relative;
    width: 100%;
    height: 100vh;
}
.hero_img {
    background-image: url('../img/hero_mobile60-4.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: 50%;
    width: 100%;
    height: 100vh;
}
.hero_img .hero_name {
    font-size: 3.6rem;
    font-weight: bold;
    color: #000;
    text-shadow: 3px 3px 5px #FFF, -3px -3px 5px #FFF, -3px 3px 5px #FFF, 3px -3px 5px #FFF, 0 0 1rem #FFF;
    padding-bottom: 7rem;
}
.hero_img .ryouta{
    letter-spacing: -0.8rem;
}
.hero_img .ta {
    margin-left: .4rem;
}
@media (min-width: 576px){
    .hero_img .hero_name {
        font-size: 4.8rem;
    }
}
@media (min-width: 576px){
    .hero_img .hero_name {
        font-size: 5.5rem;
    }
}
@media (min-width: 992px){ /* 768,992,1200 */
    .hero_img {
        background-image: url('../img/hero_PC60.jpg');
    }
}

.hero_text {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    font-size: 3rem;
    width: 18rem;
    height: 15rem;
}
@media (min-width: 576px){
    .hero_text {
        height: 9.25rem;
    }
}
@media (min-width: 992px) {
    .hero_text {
        font-size: 4rem;
        width: 51rem;
        height: 6.3rem;
    }
}
.navbar {
    --bs-navbar-brand-color: var(--color-text);
    --bs-navbar-brand-font-size : 2.6rem;
    --bs-navbar-toggler-focus-width : .15rem;
}
.navbar-toggler {
    border: none;
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-nav {
    font-size: 1.2rem;
}
.offcanvas-header {
    --bs-offcanvas-padding-x: 1.5rem;
    --bs-offcanvas-padding-y: 1.5rem;
}

.offcanvas-body {
    --bs-offcanvas-padding-x: 1.5rem;
}
.nav_icon {
    display: inline-block;
    font-size: 1.76rem;
    line-height: 1.1rem;
    margin-right: 1.5rem;
}
.clear_btn {
    border: none;
    background-color: transparent;
    margin: 0;
    padding: 0;
}
/* ■■■■■■■　footer　■■■■■■ */
.footer {
    background-color: var(--primary-color);
    padding-top: 4rem;
    padding-bottom: 10rem;
}
.footer_menu {
    font-size: 1.2rem;
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
}
.footer_menu li {
    margin-top: .25rem;
    margin-bottom: .25rem;
}
.tag {
    font-size: .825rem;
    font-weight: bold;
    display: inline-block;
    padding: .1rem .6rem;
    border-radius: 1rem;
}
.tag_color {
    background-color:#FFF;
}
.copyright {
}