@charset "UTF-8";

/*--------------------------------------------------

ハンバーガーメニュー

--------------------------------------------------*/

.global-header_hamburger {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    line-height: 1;
    color: #fff;
    font-size: 1.1rem;
    border: none;
    background-color: #8d725a;
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 1100;
    transition: all 0.5s;
}

.global-header_hamburger.is-active {
    right: calc(100% - 60px);
}

.global-header_hamburger_line {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
}

.global-header_hamburger_line:nth-of-type(1) {
    top: 15px;
}

.global-header_hamburger_line:nth-of-type(2) {
    top: 23px;
}

.global-header_hamburger_line:nth-of-type(3) {
    top: 31px;
}

.global-header_hamburger_line:not(:last-child) {
    margin-bottom: 5px;
}

.global-header_hamburger_line.active:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.global-header_hamburger_line.active:nth-of-type(2) {
    opacity: 0;
}

.global-header_hamburger_line.active:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}


/* メニューデザイン */
.drower-menu {
    z-index: 999;
    position: fixed;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    top: 0;
    right: 0;
    width: calc(100% - 60px);
    height: 100%;
    margin: 0;
    padding: 20px 20px 50%;
    box-sizing: border-box;
    /* background: url(../images/index/top-guide_faq_illust.png) no-repeat right 10px bottom -8px; */
    background-color: #fff;
    transform: translateX(100%);
    transition: all 0.5s;
}

.drower-menu.is-open {
    transform: translateX(0);
    box-shadow: 0 0 0 100vmax rgb(0 0 0 / 70%);
    transform: translate3d(0, 0, 0);
}

/*--------------------------------------------------

ハンバーガー　内容

--------------------------------------------------*/
.h-mobile_logo {
    margin-bottom: 10px;
    text-align: center;
}

.h-mobile_logo_link {
    width: 250px;
    margin: 0 auto;
}

.h-mobile_logo_img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.h-mobile-nav {
    width: 100%;
    justify-content: space-between;
    flex-direction: column;
}

.h-mobile-nav_sub {
    margin-bottom: 20px;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.h-mobile-nav_item {
    width: 100%;
    position: relative;
}

.h-mobile-nav_item_top {
    border-bottom: 1px solid;
}

.h-mobile-nav_link {
    display: block;
    width: 100%;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 700;
    position: relative;
}

.h-mobile-nav_link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 5px;
    width: 5px;
    height: 5px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: translateY(-50%) rotate(-45deg);
    transition: all 0.5s;
}



/*--------------------------------------------------

global-header

--------------------------------------------------*/
.global-header {
    padding: 30px 0 50px;
    background: url(../images/common/main-vis_left_tree.png) no-repeat top left / contain, url(../images/common/main-vis_right_tree.png) no-repeat top right / contain;
    line-height: 1;
    position: relative;
    overflow: hidden;
}

.global-header::after {
    content: "";
    width: 1920px;
    height: 82px;
    background: url(../images/common/h-nev_deco.png) no-repeat center;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.h-top {
    width: 1280px;
    height: 80px;
    margin: 0 auto;
    align-items: center;
}

.h-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.h-sns {
    width: 113px;
    margin: 0 auto;
    justify-content: space-between;
}

.h-info {
    width: 275px;
    margin: 0 auto 20px;
    padding: 20px;
    background-color: #8d725a;
    color: #fff;
    z-index: 10;
    position: relative;
}

.h-address {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
}

.h-tel_link {
    margin-bottom: 10px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-align: center;
}

.h-tel_link::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    margin-right: 10px;
    background: url(../images/common/h-tel_icon.png) no-repeat center / contain;
}

.h-info_text {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.h-info_text:not(:last-child) {
    margin-bottom: 5px;
}

.h-mail {
    width: 42px;
    height: 42px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    right: 27px;
    bottom: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
}



/* ▼ h-link
--------------------------------------------------*/
.h-link_container {
    width: calc(100% - 40px);
    margin: 0 auto;
    border-radius: 30px;
    overflow: hidden;
    flex-direction: column;
    position: relative;
}

.h-link {
    overflow: hidden;
    justify-content: center;
    width: 100%;
    height: 48vw;
    min-height: 180px;
    position: relative;
}

.h-link img {
    transition: all 0.5s;
}

/* .h-link:hover.h-link img {
    scale: 1.1;
} */

.h-link_title_painting {
    /* width: 447px;
    height: 215px;
    padding-top: 38px;
    border: 2px solid #000;
    outline: 8px solid #fff;
    outline-offset: -10px; */
    font-size: 40px;
    font-weight: 900;
    letter-spacing: 0.11em;
    line-height: 1.1;
    text-align: center;
    color: #fff;
    text-shadow: rgb(0, 0, 0) 2px 0px 0px, rgb(0, 0, 0) 1.75517px 0.958851px 0px, rgb(0, 0, 0) 1.0806px 1.68294px 0px, rgb(0, 0, 0) 0.141474px 1.99499px 0px, rgb(0, 0, 0) -0.832294px 1.81859px 0px, rgb(0, 0, 0) -1.60229px 1.19694px 0px, rgb(0, 0, 0) -1.97998px 0.28224px 0px, rgb(0, 0, 0) -1.87291px -0.701566px 0px, rgb(0, 0, 0) -1.30729px -1.5136px 0px, rgb(0, 0, 0) -0.421592px -1.95506px 0px, rgb(0, 0, 0) 0.567324px -1.91785px 0px, rgb(0, 0, 0) 1.41734px -1.41108px 0px, rgb(0, 0, 0) 1.92034px -0.558831px 0px;
    position: absolute;
    z-index: 10;
}

/* .h-link_title_painting::before {
    content: "";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 2px solid #000;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
} */

.h-link_title_painting--small {
    font-size: 30px;
}

.h-link_title_camper {
    width: 300px;
    height: 276px;
    padding: 105px 0 0 35px;
    background: url(../images/common/main-vis_link_camper_bg.png) no-repeat center / contain;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.05em;
    text-align: center;
    color: #50da9e;
    position: absolute;
    z-index: 10;
    transform: translateX(-15px);
}

.h-link_title--color {
    color: #f69a38;
}

.h-link_title--small {
    font-size: 30px;
    letter-spacing: 0.03em;
}

/* ▼ h-reserve
--------------------------------------------------*/
.h-reserve {
    width: 210px;
    height: 250px;
    padding: 100px 0 0 70px;
    background: url(../images/common/reserve_bg.png) no-repeat center / contain;
    position: absolute;
}

.h-reserve_mobile {
    height: 157px;
    margin: 0 auto 20px;
    padding: 56px 0 0 70px;
    position: relative;
}

.h-reserve_text {
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 23px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 0 5px #626566;
}

.h-reserve_link {
    width: 170px;
    height: 43px;
    background-color: transparent;
    border: 1px solid #fff;
    font-size: 14px;
    color: #fff;
    text-shadow: 0 0 5px #cd5484;
    position: absolute;
    left: 32px;
    bottom: 77px;
    z-index: 100;
}

.h-reserve_link_mobile {
    left: 33px;
    bottom: 29px;
}

.h-reserve_link::after {
    width: 33px;
    height: 67px;
    background: url(../images/common/arrow_white.png) no-repeat center / contain;
    right: 1px;
}

.h-reserve_link:hover.h-reserve_link::after {
    right: 1px;
}

/*--------------------------------------------------

sub-vis

--------------------------------------------------*/
.global-header_under {
    height: 300px;
    padding: 30px 0;
    background: url(../images/common/sub-vis_img_mobile.png) no-repeat center / cover;
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box !important;
}

.sub-vis_img {
    width: 100%;
    position: relative;
}

.sub-vis_title {
    width: 337px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

/*--------------------------------------------------

top-concept

--------------------------------------------------*/
.top-concept {
    padding: 100px 0 120px;
    background: url(../images/common/dots_pattern.png);
    position: relative;
    z-index: 1;
}

.top-concept::after {
    content: "";
    width: 1920px;
    height: 318px;
    background: url(../images/index/top-concept_deco_bottom.png) no-repeat center / contain;
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
}

.top-concept_title {
    width: 288px;
    height: 119px;
    margin: 0 auto 30px;
    background-color: #fff;
}

.top-concept_title::before {
    content: "";
    width: 292px;
    height: 78px;
    background: url(../images/index/top-concept_title_illust.png) no-repeat center / contain;
    position: absolute;
    top: -75px;
}

.top-concept_list {
    margin-bottom: 30px;
    justify-content: center;
}

.top-concept_list_item {
    width: 157px;
    height: 171px;
    padding-top: 63px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    text-align: center;
}

.top-concept_list_item:not(:last-child) {
    margin-right: 10px;
}

.top-concept_rental--medium {
    font-size: 23px;
}

.top-concept_rental--small {
    font-size: 18px;
}

.top-concept_list_item:nth-child(1) {
    background: url(../images/index/top-concept_list_bg01.png) no-repeat center / contain;
    text-shadow: 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c;
}

.top-concept_colorful--medium {
    font-size: 25px;
}

.top-concept_colorful--small {
    font-size: 16px;
}

.top-concept_list_item:nth-child(2) {
    background: url(../images/index/top-concept_list_bg02.png) no-repeat center / contain;
    text-shadow: 0 0 5px #1383eb;
}

.top-concept_lending--small {
    font-size: 20px;
}

.top-concept_lending--medium {
    font-size: 40px;
}

.top-concept_list_item:nth-child(3) {
    background: url(../images/index/top-concept_list_bg03.png) no-repeat center / contain;
    line-height: 1.2;
    text-shadow: 0 0 5px #f178f1;
}

.top-concept_text {
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
}

/*--------------------------------------------------

top-use

--------------------------------------------------*/
.top-use {
    padding: 50px 0;
    background-color: #fff;
}

.top-use_title {
    margin: 0 auto 30px;
}

.top-use_list {
    justify-content: center;
}

.top-use_list_item {
    width: 138px;
}

.top-use_list_item_winter {
    width: 177px;
}

.top-use_list_item:not(:last-child) {
    margin-right: 10px;
}

/*--------------------------------------------------

top-pickup

--------------------------------------------------*/
.top-pickup {
    padding: 80px 0 250px;
    background: url(../images/index/top-pick-up_deco_top.png) no-repeat top center / contain, url(../images/index/top-pick-up_deco_bottom.png) no-repeat bottom center / contain;
    position: relative;
    z-index: 1;
}

.top-pickup_title {
    width: 335px;
    margin: 0 auto;
    text-align: center;
    transform: translateX(-14px);
}

.top-pickup_list {
    margin-top: -30px;
}

.top-pickup_list_item {
    margin: 0 auto;
    position: relative;
}

.top-pickup_list_title {
    margin-bottom: 10px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

.top-pickup_list_title--color {
    font-size: 35px;
}

/* ▼ spot
--------------------------------------------------*/
.top-pickup_spot {
    width: 325px;
    height: 284px;
    margin-bottom: 170px;
    background: url(../images/index/top-pick-up_spot_bg.png) no-repeat top left;
}

.top-pickup_spot_img {
    position: absolute;
    bottom: -170px;
    z-index: -1;
}

.top-pickup_spot_text-area {
    padding: 54px 0 20px 30px;
}

.top-pickup_spot_title--color {
    color: #f892bb;
}

/* ▼ feature
--------------------------------------------------*/
.top-pickup_feature {
    width: 325px;
    height: 273px;
    margin-bottom: 180px;
    background: url(../images/index/top-pick-up_feature_bg.png) no-repeat right bottom;
}

.top-pickup_feature_img {
    position: absolute;
    bottom: -175px;
    z-index: -1;
}

.top-pickup_feature_text-area {
    padding: 73px 0 10px 0;
}

.top-pickup_feature_title {
    margin-bottom: 20px;
    line-height: 0.8;
}

.top-pickup_feature_title--color {
    color: #12b568;
}

/* ▼ use
--------------------------------------------------*/
.top-pickup_use {
    width: 325px;
    height: 270px;
    margin-bottom: 170px;
    background: url(../images/index/top-pick-up_use_bg.png) no-repeat top left;
}

.top-pickup_use_img {
    position: absolute;
    bottom: -165px;
    z-index: -1;
}

.top-pickup_use_text-area {
    padding: 54px 0 20px 30px;
}

.top-pickup_use_title--color {
    color: #429cf0;
}

/* ▼ price
--------------------------------------------------*/
.top-pickup_price {
    width: 325px;
    height: 254px;
    margin-bottom: 170px;
    background: url(../images/index/top-pick-up_price_bg.png) no-repeat top left;
}

.top-pickup_price_img {
    position: absolute;
    bottom: -170px;
    z-index: -1;
}

.top-pickup_price_text-area {
    padding: 54px 0 20px 30px;
}

.top-pickup_price_title--color {
    color: #f69a38;
}

.top-pickup_list_text {
    margin-bottom: 15px;
    font-weight: 700;
    line-height: 1.56;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}

/* ▼ sale
--------------------------------------------------*/
.top-pickup_sale {
    width: 325px;
    height: 270px;
    background: url(../images/index/top-pick-up_sale_bg.png) no-repeat top left;
}

.top-pickup_sale_img {
    position: absolute;
    bottom: -165px;
    z-index: -1;
}

.top-pickup_sale_text-area {
    padding: 54px 0 20px 30px;
}

.top-pickup_sale_title--color {
    color: #f892bb;
}

/*--------------------------------------------------

top-recruit

--------------------------------------------------*/
.top-recruit {
    padding: 50px 0;
}

.top-recruit_wrapper {
    justify-content: space-between;
    flex-direction: column;
}

.top-recruit_text-area {
    width: 100%;
    height: 270px;
    margin-bottom: 20px;
    padding-top: 50px;
    background: url(../images/index/top-recruit_border_top.png) repeat-x top center, url(../images/index/top-recruit_border_bottom.png) repeat-x bottom center;
    text-align: center;
}

.top-recruit_title {
    width: 200px;
    margin: 0 auto;
    margin-bottom: 20px;
}

.top-recruit_text {
    margin-bottom: 20px;
    font-weight: 700;
}

.top-recruit_btn {
    width: 245px;
    height: 48px;
    margin: 0 auto;
    border: 2px solid #f892bb;
    box-shadow: 0px 0px 0px 2px rgba(255,255,255,1);
    color: #f892bb;
}

.top-recruit_btn::after {
    width: 16px;
    height: 24px;
    background: url(../images/common/arrow_pink.png) no-repeat center / contain;
}

.top-recruit_img {
    border-radius: 20px;
    overflow: hidden;
}

/*--------------------------------------------------

top-guide

--------------------------------------------------*/
.top-guide {
    padding: 50px 0;
    background: url(../images/common/dots_pattern_reverse.png);
}

.top-guide_wrapper {
    justify-content: center;
    flex-direction: column;
}

.top-guide_link {
    width: 335px;
    height: 128px;
    padding: 20px 0 0 125px;
    text-align: center;
    position: relative;
}

.top-guide_link_voice {
    padding: 25px 0 0 125px;
}

.top-guide_text {
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 27px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.top-guide_text--small {
    font-size: 20px;
}

.top-guide_text_voice {
    margin-bottom: 10px;
}

.top-guide_illust {
    position: absolute;
    left: 31px;
    bottom: -7px;
}

.top-guide_illust_voice {
    bottom: -18px;
}

.top-guide_link_faq {
    background: url(../images/index/top-guide_faq_bg.png) no-repeat center / contain;
}

.top-guide_link_voice {
    background: url(../images/index/top-guide_voice_bg.png) no-repeat center / contain;
}

.top-guide_link:not(:last-child) {
    margin-bottom: 20px;
}

/*--------------------------------------------------

top-news

--------------------------------------------------*/
.top-news {
    padding: 110px 0 50px;
}

.top-news_wrapper {
    position: relative;
    justify-content: space-between;
    flex-direction: column;
}

.top-news_title {
    margin-bottom: 20px;
    position: relative;
}

.top-news_title::before {
    content: "";
    width: 71px;
    height: 46px;
    background: url(../images/index/top-news_deco.png) no-repeat center / contain;
    position: absolute;
    top: -65px;
    left: 50%;
    transform: translateX(-50%);
}

.news_list {
    width: 100%;
    margin-bottom: 20px;
}

.news_list_item {
    width: 100%;
    height: 50px;
    border-radius: 28.5px;
    background-color: #cff8e6;
}

.news_list_time {
    display: inline-block;
    height: 50px;
    padding: 0 10px 0 15px;
    border-right: 2px solid #fff;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    line-height: 50px;
    color: #12b568;
}

.news_list_title {
    flex: 1;
    padding: 0 20px 0 10px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news_list_item:not(:last-child) {
    margin-bottom: 10px;
}

/*--------------------------------------------------

feature

--------------------------------------------------*/
.feature {
    padding: 80px 0;
    background: url(../images/common/dots_pattern.png);
    position: relative;
    z-index: 1;
}

.feature::before {
    content: "";
    width: 70%;
    height: 398px;
    background: url(../images/feature/feature_illust_top.png) no-repeat top right -50px / contain;
    position: absolute;
    top: 0;
    right: 0;
}

/* .feature::after {
    content: "";
    width: 70%;
    height: 775px;
    background: url(../images/feature/feature_illust_bottom.png) no-repeat bottom left / contain;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
} */

.feature_container {
    position: relative;
    z-index: 5;
}

.feature_container:not(:last-child) {
    margin-bottom: 80px;
}

.feature_title {
    margin-bottom: 50px;
}

.feature_img {
    width: 100%;
    height: 49.33vw;
    min-height: 185px;
    margin-bottom: 10px;
    border-radius: 20px;
    border: 5px solid #fff;
    overflow: hidden;
}

.feature_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature_container:nth-child(even) .feature_img {
    left: auto;
    right: -100px;
}

.feature_text-box {
    width: 100%;
    padding: 30px 30px 80px 30px;
    margin-left: auto;
    border-radius: 20px;
    background-color: #fff;
    position: relative;
}

.feature_container:nth-child(even) .feature_text-box {
    margin-right: auto;
    margin-left: 0;
}

.feature_list {
    margin-bottom: 15px;
}

.feature_list_item {
    width: 100%;
    height: 40px;
    padding-left: 20px;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.feature_list_item::before {
    content: "";
    width: 15px;
    height: 15px;
    margin-right: 10px;
    border-radius: 50%;
}

.feature_list_item:not(:last-child) {
    margin-bottom: 6px;
}

.feature_list_item:nth-child(1) {
    background-color: #dfeefc;
}

.feature_list_item:nth-child(1).feature_list_item::before {
    background-color: #429cf0;
}

.feature_list_item:nth-child(2) {
    background-color: #fdddbc;
}

.feature_list_item:nth-child(2).feature_list_item::before {
    background-color: #f69a38;
}

.feature_list_item:nth-child(3) {
    background-color: #cff8e6;
}

.feature_list_item:nth-child(3).feature_list_item::before {
    background-color: #50da9e;
}

.feature_text {
    font-weight: 700;
    line-height: 2.3;
    z-index: 5;
    position: relative;
}

/* ▼ beginner
--------------------------------------------------*/

.feature_text-box_beginner::after {
    content: "";
    width: 80%;
    height: 128px;
    background: url(../images/feature/feature_beginner_illust.png) no-repeat bottom right / contain;
    position: absolute;
    right: 40px;
    bottom: -50px;
}

/* ▼ colorful
--------------------------------------------------*/
.feature_text-box_colorful::after {
    content: "";
    width: 80%;
    height: 118px;
    background: url(../images/feature/feature_colorful_illust.png) no-repeat bottom right / contain;
    position: absolute;
    right: 17px;
    bottom: -46px;
}

/* ▼ time
--------------------------------------------------*/

.feature_text-box_time::after {
    content: "";
    width: 70%;
    height: 120px;
    background: url(../images/feature/feature_time_illust.png) no-repeat bottom right / contain;
    position: absolute;
    right: 40px;
    bottom: -50px;
}

/* ▼ pet
--------------------------------------------------*/
.feature_container_pet::after {
    content: "";
    width: 67px;
    height: 114px;
    background: url(../images/feature/feature_doco_pet.png) no-repeat center / contain;
    position: absolute;
    left: -170px;
    bottom: -130px;
}

.feature_text-box_pet::before {
    content: "";
    width: 201px;
    height: 109px;
    background: url(../images/feature/feature_pet_illust.png) no-repeat bottom right / contain;
    position: absolute;
    top: -97px;
    left: -51px;
}

.feature_text-box_pet::after {
    content: "";
    width: 60%;
    height: 124px;
    background: url(../images/feature/feature_pet_illust02.png) no-repeat bottom right / contain;
    position: absolute;
    right: 40px;
    bottom: -48px;
}

/* ▼ management
--------------------------------------------------*/
.feature_text-box_management::after {
    content: "";
    width: 70%;
    height: 152px;
    background: url(../images/feature/feature_management_illust.png) no-repeat bottom right / contain;
    position: absolute;
    right: -53px;
    bottom: -50px;
}

/* ▼ management
--------------------------------------------------*/
.feature_text-box_sale::after {
    content: "";
    width: 65%;
    height: 152px;
    background: url(../images/feature/feature_sale_illust.png) no-repeat bottom right / contain;
    position: absolute;
    right: 21px;
    bottom: -50px;
}


/*--------------------------------------------------

introduction-car

--------------------------------------------------*/
.introduction-car {
    padding: 50px 0 100px;
    background: url(../images/common/dots_pattern.png);
    position: relative;
    z-index: 1;
}

.introduction-car::before {
    content: "";
    width: 49px;
    height: 83px;
    background: url(../images/price/price_bird.png) no-repeat center / contain;
    position: absolute;
    top: 180px;
    right: calc(50% - 640px);
}

.introduction-car::after {
    content: "";
    width: 100%;
    height: 312px;
    background: url(../images/price/price_car_doco_bottom.png) no-repeat center bottom / contain;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: -1;
}

.introduction-car_title {
    margin-bottom: 50px;
}

.introduction-car_list_item {
    margin-bottom: 40px;
}

.introduction-car_modal_card {
    empty-cells: inherit;
    width: 100%;
    height: 100%;
    cursor: pointer;
    box-sizing: border-box;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.introduction-car_modal_card_figure {
    width: 100%;
    max-width: 500px;
    height: 74.66vw;
    min-height: 280px;
    max-height: 390px;
    border-radius: 20px;
    margin-bottom: 10px;
    border: 5px solid #fff;
    overflow: hidden;
}

.introduction-car_modal_card_figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
}

.introduction-car_list_item:hover .introduction-car_modal_card_figure img {
    opacity: 75%;
    /* scale: 1.1; */
}

.introduction-car_info {
    width: 100%;
    max-width: 500px;
    height: 230px;
    padding: 20px;
    background-color: #fff;
}

.introduction-car_tag {
    width: 110px;
    height: 25px;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.introduction-car_tag:not(:last-child) {
    margin-right: 10px;
}

.introduction-car_tag_camp {
    background-color: #f69a38;
}

.introduction-car_tag_rental {
    background-color: #f892bb;
}

.introduction-car_modal_card_title {
    width: 100%;
    height: 35px;
    margin-bottom: 10px;
    padding: 0 20px;
    background-color: #dfeefc;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 35px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.introduction-car_modal_card_info {
    padding: 15px;
    border-bottom: 1px solid #429cf0;
    line-height: 1;
}

.introduction-car_modal_card_info_head {
    width: 90px;
    margin-right: 80px;
    font-weight: 700;
    text-align: right;
}

.introduction-car_modal_card_info_data {
    font-weight: 500;
}

.introduction-car_modal_card_info_head,
.introduction-car_modal_card_info_data {
    display: inline-block;
    
}


.introduction-car_modal_content {
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.introduction-car_modal_content_column {
    width: calc(100% - 40px);
    height: 76vh;
    padding: 20px;
    margin: auto;
    background-color: #f8f2e8;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    box-sizing: border-box;
}

.introduction-car_modal_content_figure {
    margin-right: 30px;
    width: 100%;
    height: 53.33vw;
    min-height: 200px;
    margin-bottom: 15px;
    overflow: hidden;
    cursor: pointer;
}

.introduction-car_modal_content_figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
}

.introduction-car_modal_content_figure img:hover {
    opacity: 75%;
    scale: 1.1;
}

.introduction-car_images {
    width: 100%;
}

.introduction-car_modal_content_list_item {
    width: calc(33.33% - 7px);
    height: 24.26vw;
    min-height: 91px;
    margin-bottom: 10px;
}

.introduction-car_modal_content_list_item:not(:nth-child(3n)) {
    margin-right: 10px;
}

.introduction-car_modal_content_list_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.introduction-car_info_molal_content {
    width: 490px;
    height: auto;
    padding: 20px;
    margin: 0 auto;
}

.introduction-car_modal_content_title {
    width: 100%;
    margin-bottom: 10px;
    padding: 5px 20px;
    background-color: #dfeefc;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}



@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    .modal img {
        object-fit: none;
    }
}

#accordion button {
    border: 2px solid #000;
    box-shadow: 0px 0px 0px 2px rgba(255,255,255,1);
    color: #2c1d19;
}

.introduction-car_btn {
    margin: 0 auto;
}

/*--------------------------------------------------

introduction-rental

--------------------------------------------------*/
.introduction-rental {
    padding: 80px 0 100px;
    background: url(../images/price/price-rental_left.png) no-repeat top left, url(../images/price/price_rental_right.png) no-repeat top right;
    background-size: 30%;
    position: relative;
}

.introduction-rental::after {
    content: "";
    width: 164px;
    height: 71px;
    background: url(../images/price/price_rental_deco.png) no-repeat center / contain;
    position: absolute;
    right: 50px;
    bottom: -1px;
}

.introduction-rental_title {
    margin-bottom: 50px;
}

.introduction-rental_list {
    align-items: flex-start;
}

.introduction-rental_list_item {
    width: calc(50% - 5px);
    margin-bottom: 30px;
}

.introduction-rental_list_item:not(:nth-child(2n)) {
    margin-right: 10px;
}

.introduction-rental_list_img {
    width: 100%;
    height: 40.53vw;
    min-height: 152px;
    margin-bottom: 15px;
    border: 5px solid #cff8e6;
    border-radius: 20px;
    overflow: hidden;
}

.introduction-rental_list_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.introduction-rental_list_title {
    padding: 8px 0;
    border-top: 1px solid #429cf0;
    border-bottom: 1px solid #429cf0;
    font-weight: 700;
    text-align: center;
}

.introduction-rental_list_price {
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
    padding: 0 15px;
    background-color: #fddeea;
    font-weight: 700;
    line-height: 40px;
    text-align: right;
}

.introduction-rental_list_text {
    max-height: 200px;
    overflow-y: auto;
    font-size: 14px;
    font-weight: 500;
}

/*--------------------------------------------------

introduction-price

--------------------------------------------------*/
.introduction-price {
    padding: 50px 0 100px;
    background: url(../images/common/stripe_pattern.png);
}

.introduction-price_title {
    margin-bottom: 50px;
}

.introduction-price_note {
    line-height: 1;
    text-align: right;
}

/*--------------------------------------------------

extension

--------------------------------------------------*/
.extension {
    padding: 50px 0 100px;
    position: relative;
    z-index: 1;
}

.extension::before {
    content: "";
    width: 100%;
    height: 186px;
    background: url(../images/price/introduction-extension_top.png) no-repeat center bottom / contain;
    position: absolute;
    top: -186px;
    left: 50%;
    transform: translateX(-50%);
}

/* .extension::after {
    content: "";
    width: 494px;
    height: 532px;
    background: url(../images/price/introduction-extension_illust.png) no-repeat center / contain;
    position: absolute;
    left: calc(50% - 868px);
    bottom: 0;
} */

.extension_title {
    margin-bottom: 50px;
}

.extension_list {
    position: relative;
}

.extension_list::after {
    content: "";
    width: 448px;
    height: 504px;
    background: url(../images/price/introduction-extension_bg.png) no-repeat center / contain;
    position: absolute;
    right: calc(50% - 311px);
    bottom: -205px;
    z-index: -1;
}

.extension_list_item {
    padding-left: 70px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    counter-increment: number;
    position: relative;
}

.extension_list_item::before {
    content: counter(number, decimal-leading-zero);
    width: 55px;
    height: 62px;
    margin-right: 30px;
    background: url(../images/price/introduction-extension_list_bg.png) no-repeat center / contain;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 24px;
    font-weight: 700;
    line-height: 62px;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.extension_list_item:not(:last-child) {
    margin-bottom: 35px;
}

/*--------------------------------------------------

cancel

--------------------------------------------------*/
.cancel {
    padding: 50px 0;
    background: url(../images/price/introduction-cancel_bg.png) no-repeat top center / contain;
}

.cancel_title {
    margin-bottom: 50px;
}

.cancel_table_row:first-child {
    border-top: 1px solid #f892bb;
}

.cancel_table_row {
    border-bottom: 1px solid #f892bb;
}

.cancel_table_head {
    background-color: #fddeea;
}

.cancel_note {
    line-height: 1.5;
}

/*--------------------------------------------------

pay

--------------------------------------------------*/
.pay {
    padding: 50px 0;
    background: url(../images/common/dots_pattern.png);
}

.pay_title {
    margin-bottom: 50px;
}

.pay_container {
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
}

.pay_text {
    margin-bottom: 20px;
    font-weight: 500;
    line-height: 1.5;
}

.pay_list {
    justify-content: center;
}

.pay_list_item {
    margin-bottom: 15px;
}

.pay_list_item:not(:last-child) {
    margin-right: 15px;
}

/*--------------------------------------------------

discount

--------------------------------------------------*/
.discount {
    padding: 50px 0;
    position: relative;
    z-index: 1;
}

/* .discount_wrapper::before {
    content: "";
    width: 238px;
    height: 855px;
    background: url(../images/price/discount_deco_left.png) no-repeat center / contain;
    position: absolute;
    top: -115px;
    left: 0;
} */

/* .discount_wrapper::after {
    content: "";
    width: 313px;
    height: 613px;
    background: url(../images/price/discount_deco_right.png) no-repeat center / contain;
    position: absolute;
    top: 0;
    right: 0;
} */

.discount::before {
    content: "";
    width: 100%;
    height: 39px;
    background: url(../images/price/discount_top.png) no-repeat center bottom / contain;
    position: absolute;
    top: -39px;
    left: 50%;
    transform: translateX(-50%);
}

.discount_container {
    text-align: center;
    position: relative;
}

.discount_container::after {
    content: "";
    width: 340px;
    height: 403px;
    background: url(../images/price/discount_bg.png) no-repeat center / contain;
    position: absolute;
    top: 46px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.discount_title {
    width: 280px;
    margin: 0 auto 30px;
    transform: translateX(-13px);
}

.discount_text {
    margin-bottom: 10px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    position: relative;
}

.discount_text::before {
    content: "";
    width: 430px;
    height: 182px;
    background: url(../images/price/discount_frame.png) no-repeat center / contain;
    position: absolute;
    top: -73px;
    left: 50%;
    transform: translateX(-53%);
    z-index: -1;
}

.discount_text--large {
    display: inline-block;
    padding: 5px;
    font-size: 20px;
    line-height: 1;
    color: #2c1d19;
    background-color: #f9e47d;
}

.discount_text--middle {
    font-size: 16px;
    letter-spacing: 0;
}

.discount_note {
    text-align: center;
}

.discount_price {
    margin-bottom: 45px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 60px;
    font-weight: 800;
    line-height: 1.5;
    color: #429cf0;
    position: relative;
}

.discount_price::before {
    content: "";
    width: 320px;
    height: 77px;
    background: url(../images/price/discount_star.png) no-repeat center / contain;
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translateX(-50%);
}

.discount_price::after {
    content: "";
    width: 350px;
    height: 48px;
    background: url(../images/price/discount_deco_line.png) no-repeat center / contain;
    position: absolute;
    left: 50%;
    bottom: -35px;
    transform: translateX(-50%);
}

.discount_price_large {
    font-size: 80px;
    letter-spacing: 0;
}

.discount_price_small {
    font-size: 40px;
}

.discount_note {
    font-weight: 500;
}

/*--------------------------------------------------

reserve

--------------------------------------------------*/
.reserve {
    padding-bottom: 50px;
}

.reserve_wrapper {
    background: url(../images/price/reserve_border-top.png) no-repeat top center, url(../images/price/reserve_border-bottom.png) no-repeat bottom center;
    padding: 65px 0 30px;
    text-align: center;
    position: relative;
}

.reserve_wrapper::after {
    content: "";
    width: 55px;
    height: 90px;
    background: url(../images/price/reserve_illust.png) no-repeat center / contain;
    position: absolute;
    right: -10px;
    bottom: -17px;
}

.reserve_title {
    width: 260px;
    margin: 0 auto;
    margin-bottom: 20px;
}

.reserve_text {
    font-weight: 500;
}

.reserve-tel {
    margin-bottom: 15px;
}

/*--------------------------------------------------

use-flow

--------------------------------------------------*/
.use-flow {
    padding: 50px 0 100px;
    background: url(../images/common/dots_pattern.png);
    position: relative;
}

.use-flow::before {
    content: "";
    width: 53%;
    height: 292px;
    background: url(../images/use/use_left_illust.png) no-repeat top left -50px / contain;
    position: absolute;
    top: 0;
    left: 0;
}

.use-flow::after {
    content: "";
    width: 106px;
    height: 141px;
    background: url(../images/use/use-flow_illust.png) no-repeat center / contain;
    position: absolute;
    right: calc(50% - 750px);
    bottom: 10px;
}

.use-flow_title {
    margin-bottom: 50px;
}

.use-flow_list {
    justify-content: space-between;
    flex-direction: column;
}

.use-flow_list_item {
    width: 335px;
    margin: 0 auto;
    padding-left: 80px;
    counter-increment: number;
    position: relative;
}

.use-flow_list_item:not(:last-child) {
    margin-bottom: 20px;
}

.use-flow_number {
    margin-bottom: 55px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.use-flow_number::after {
    content: counter(number);
    display: block;
    font-size: 20px;
}

.use-flow_number::before {
    content: "";
    width: 60px;
    height: 59px;
    position: absolute;
    right: -25px;
    bottom: -30px;
}

.use-flow_text {
    width: 100%;
    max-width: 300px;
    height: 80px;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.38;
    text-align: center;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.use-flow_text::before {
    content: "";
    width: 100%;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.35);
    position: absolute;
    top: 0;
    left: 0;
}

.use-flow_text::after {
    content: "";
    width: 100px;
    height: 30px;
    background-color: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    position: absolute;
    bottom: -30px;
}


.use-flow_list_item:nth-child(1) .use-flow_text {
    background-color: #429cf0;
    z-index: 5;
}

.use-flow_list_item:nth-child(1) .use-flow_text::after {
    background-color: #429cf0;
}

.use-flow_list_item:nth-child(1) .use-flow_number {
    color: #429cf0;
}

.use-flow_list_item:nth-child(1) .use-flow_number::before {
    background: url(../images/use/use-flow_list_boder01.png) no-repeat center / contain;
}

.use-flow_list_item:nth-child(2) .use-flow_text {
    background-color: #50da9e;
    z-index: 4;
}

.use-flow_list_item:nth-child(2) .use-flow_text::after {
    background-color: #50da9e;
}

.use-flow_list_item:nth-child(2) .use-flow_number {
    color: #50da9e;
}

.use-flow_list_item:nth-child(2) .use-flow_number::before {
    background: url(../images/use/use-flow_list_boder02.png) no-repeat center / contain;
}

.use-flow_list_item:nth-child(3) .use-flow_text {
    background-color: #f892bb;
    z-index: 3;
}

.use-flow_list_item:nth-child(3) .use-flow_text::after {
    background-color: #f892bb;
}

.use-flow_list_item:nth-child(3) .use-flow_number {
    color: #f892bb;
}

.use-flow_list_item:nth-child(3) .use-flow_number::before {
    background: url(../images/use/use-flow_list_boder03.png) no-repeat center / contain;
}

.use-flow_list_item:nth-child(4) .use-flow_text {
    background-color: #f69a38;
    z-index: 2;
}

.use-flow_list_item:nth-child(4) .use-flow_text::after {
    background-color: #f69a38;
}

.use-flow_list_item:nth-child(4) .use-flow_number {
    color: #f69a38;
}

.use-flow_list_item:nth-child(4) .use-flow_number::before {
    background: url(../images/use/use-flow_list_boder04.png) no-repeat center / contain;
}

.use-flow_list_item:nth-child(5) .use-flow_text {
    background-color: #429cf0;
    z-index: 1;
}

.use-flow_list_item:nth-child(5) .use-flow_text::after {
    background-color: #429cf0;
}

.use-flow_list_item:nth-child(5) .use-flow_number {
    color: #429cf0;
}

.use-flow_list_item:nth-child(5) .use-flow_number::before {
    background: url(../images/use/use-flow_list_boder05.png) no-repeat center / contain;
}

/*--------------------------------------------------

use-note

--------------------------------------------------*/
.use-note {
    padding: 50px 0;
}

.use-note_title {
    margin-bottom: 50px;
}

.use-note_list_item:not(:last-child) {
    margin-bottom: 30px;
}

.use-note_list_title {
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid #f69a38;
}

/*--------------------------------------------------

spot

--------------------------------------------------*/
.spot {
    padding: 50px 0;
    background: url(../images/common/dots_pattern.png);
}

.spot_list_item {
    width: 100%;
    padding: 20px;
    background-color: #fff;
}

.spot_list_item:not(:last-child) {
    margin-bottom: 20px;
}

.spot_list_title {
    width: 100%;
    padding: 5px 20px;
    margin-bottom: 10px;
    background-color: #dfeefc;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.3;
}

.spot_list_img {
    width: 100%;
    height: 48.53vw;
    min-height: 182px;
    margin: 0 auto 20px;
    border-radius: 20px;
    overflow: hidden;
}

.spot_list_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spot_list_info_container {
    width: 100%;
    margin: 0 auto;
}

.spot_list_info {
    border-bottom: 1px solid #429cf0;
    font-weight: 500;
}

.spot_list_info_head {
    display: inline-block;
    width: 70px;
    margin-right: 30px;
    text-align: right;
    vertical-align: middle;
}

.spot_list_info_data {
    display: inline-block;
    padding: 10px 0;
    flex: 1;
}

.spot_list_text {
    margin-top: 20px;
}

/*--------------------------------------------------

recruit-charm

--------------------------------------------------*/
.recruit-charm {
    padding: 50px 0 100px;
    background: url(../images/common/dots_pattern.png);
    position: relative;
}

.recruit-charm::after {
    content: "";
    width: 100%;
    height: 187px;
    background: url(../images/recruit/recruit-charm_bottom.png) no-repeat center bottom / contain;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.recruit-charm_title {
    margin-bottom: 50px;
}

.recruit-charm_list {
    width: 100%;
    margin: 0 auto;
    justify-content: center;
}

.recruit-charm_list_item {
    width: 157px;
    height: 153px;
    margin-bottom: 10px;
    padding-top: 56px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1;
}

.recruit-charm--large {
    display: block;
    font-size: 23px;
    line-height: 1;
}

.recruit-charm_list_item:not(:last-child) {
    margin-right: 10px;
}

.recruit-charm_list_item:nth-child(1) {
    background: url(../images/recruit/recruit-charm_list_bg01.png) no-repeat center / contain;
    text-shadow: 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c;
}


.recruit-charm_list_item:nth-child(1)::after {
    content: "";
    width: 64px;
    height: 91px;
    background: url(../images/recruit/recruit-charm_list_deco01.png) no-repeat center / contain;
    position: absolute;
    left: -13px;
    bottom: -15px;
}

.recruit-charm_list_item:nth-child(2) {
    background: url(../images/recruit/recruit-charm_list_bg02.png) no-repeat center / contain;
    text-shadow: 0 0 5px #1383eb;
}

.recruit-charm_list_item:nth-child(2)::after {
    content: "";
    width: 58px;
    height: 114px;
    background: url(../images/recruit/recruit-charm_list_deco02.png) no-repeat center / contain;
    position: absolute;
    top: -24px;
    right: 10px;
    z-index: -1;
}

.recruit-charm_list_item:nth-child(3) {
    background: url(../images/recruit/recruit-charm_list_bg03.png) no-repeat center / contain;
    text-shadow: 0 0 5px #f178f1;
}

.recruit-charm_list_item:nth-child(3)::after {
    content: "";
    width: 31px;
    height: 146px;
    background: url(../images/recruit/recruit-charm_list_deco03.png) no-repeat center / contain;
    position: absolute;
    top: 40px;
    right: 19px;
    z-index: -1;
}

.recruit-charm_list_item:nth-child(4) {
    background: url(../images/recruit/recruit-charm_list_bg04.png) no-repeat center / contain;
    text-shadow: 0 0 5px #49d3a6;
}

.recruit-charm_list_item:nth-child(4)::after {
    content: "";
    width: 60px;
    height: 106px;
    background: url(../images/recruit/recruit-charm_list_deco04.png) no-repeat center / contain;
    position: absolute;
    bottom: -30px;
    left: 0px;
    z-index: -1;
}

.recruit-charm_list_item:nth-child(5) {
    background: url(../images/recruit/recruit-charm_list_bg05.png) no-repeat center / contain;
    text-shadow: 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c, 0 0 5px #ef932c;
}

.recruit-charm_list_item:nth-child(5)::after {
    content: "";
    width: 48px;
    height: 120px;
    background: url(../images/recruit/recruit-charm_list_deco05.png) no-repeat center / contain;
    position: absolute;
    bottom: -26px;
    right: 4px;
    z-index: -1;
}

/*--------------------------------------------------

recruit-job

--------------------------------------------------*/
.recruit-job {
    background: url(../images/recruit/recruit-job_flag_left.png) no-repeat top 10px left -30px, url(../images/recruit/recruit-job_flag_right.png) no-repeat top 10px right -30px;
    background-size: 30%;
    padding: 50px 0;
}

.recruit-job_title {
    margin-bottom: 50px;
}

.recruit-job_table {
    position: relative;
}

.recruit-job_table:not(:last-child) {
    margin-bottom: 50px;
}

.recruit-job_table:nth-of-type(1)::before {
    content: "";
    width: 60px;
    height: 102px;
    background: url(../images/recruit/recruit-job_illust01.png) no-repeat center / contain;
    position: absolute;
    top: -37px;
    left: 21px;
}

.recruit-job_table:nth-of-type(2)::before {
    content: "";
    width: 64px;
    height: 98px;
    background: url(../images/recruit/recruit-job_illust02.png) no-repeat center / contain;
    position: absolute;
    top: -24px;
    left: 17px;
}

.recruit-job_table:nth-of-type(1) .cmn-table_head {
    background-color: #fddeea;
}

/* .recruit-job_table:nth-of-type(1) .cmn-table_row:first-child {
    border-top: 1px solid #f892bb;
}

.recruit-job_table:nth-of-type(1) .cmn-table_row {
    border-bottom: 1px solid #f892bb;
} */

.recruit-job_table:nth-of-type(2) .cmn-table_head {
    background-color: #dfeefc;
}
/* 
.recruit-job_table:nth-of-type(2) .cmn-table_row:first-child {
    border-top: 1px solid #429cf0;
}

.recruit-job_table:nth-of-type(2) .cmn-table_row {
    border-bottom: 1px solid #429cf0;
} */

/*--------------------------------------------------

company-greeting

--------------------------------------------------*/
.company-greeting {
    padding: 50px 0 150px;
    background: url(../images/company/company-greeting_bg.png) no-repeat center bottom / contain;
    position: relative;
    z-index: 1;
}

.company-greeting::before {
    content: "";
    width: 53%;
    height: 292px;
    background: url(../images/company/company-greeting_illust.png) no-repeat left top / contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.company-greeting_title {
    margin-bottom: 50px;
}

.company-greeting_container {
    align-items: flex-start;
    justify-content: center;
}

.company-greeting_img {
    width: 325px;
    height: 419px;
    margin-bottom: 20px;
    border-radius: 20px;
    border: 5px solid #fff;
    overflow: hidden;
}

.company-greeting_text {
    width: 100%;
    font-weight: 500;
    position: relative;
}

.company-greeting_text::after {
    content: "";
    width: 150px;
    height: 39px;
    background: url(../images/company/company-greeting_name.png) no-repeat center / contain;
    position: absolute;
    bottom: -54px;
    right: 15px;
}

/*--------------------------------------------------

company-info

--------------------------------------------------*/
.company-info {
    padding: 50px 0 0;
    background: url(../images/common/dots_pattern.png);
}

.company-info_title {
    margin-bottom: 50px;
}

.company_table {
    margin-bottom: 50px;
}

/* .company_table_row:first-child {
    border-top: 1px solid #49d3a6;
}

.company_table_row {
    border-bottom: 1px solid #49d3a6;
} */

.company_table_head {
    background-color: #e2fbf0;
}


/*--------------------------------------------------

footer

--------------------------------------------------*/
.global-footer {
    padding: 50px 0 170px;
    background-color: #dfeefc;
    position: relative;
    overflow: hidden;
}

.global-footer::after {
    content: "";
    width: 1920px;
    height: 267px;
    background: url(../images/common/f-deco.png) no-repeat center;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.footer_wrapper {
    position: relative;
}

.f-info {
    width: 100%;
    text-align: center;
    position: relative;
    justify-content: center;
    z-index: 10;
}

.f-logo {
    width: 100%;
    margin-bottom: 20px;
}

.f-logo_link {
    width: 270px;
    margin: 0 auto;
}

.f-tel {
    margin-right: 20px;
    font-family: "Rounded-Mplus-1p", "Noto Sans JP";
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.f-tel::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-right: 5px;
    transform: translateY(3px);
    background: url(../images/common/f-tel_icon.png) no-repeat center / contain;
}

.f-mail {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #429cf0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.f-info_text_container {
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 500;
}

.f-info_text_container {
    width: 100%;
}

.f-info_text {
    display: inline-block;
}

.f-info_text:not(:last-child) {
    margin-right: 10px;
}

.f-sns {
    width: 100%;
    justify-content: center;
}

.f-sns_item:not(:last-child) {
    margin-right: 15px;
}

/* ▼ f-nav
--------------------------------------------------*/
.f-nav {
    width: 375px;
    height: 165px;
    margin-top: 80px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    flex-direction: column;
    align-items: flex-start;
    align-content: space-between;
    position: relative;
    z-index: 10;
}

.f-nav_item:not(:last-child):not(:nth-child(6n)) {
    margin-bottom: 17px;
}

/* ▼ f-reserve
--------------------------------------------------*/
.f-reserve {
    width: 210px;
    padding: 92px 0 0 68px;
    right: 0;
    bottom: -202px;
}

.f-reserve_link {
    bottom: 74px;
}

/* ▼ copyright
--------------------------------------------------*/
.copyright {
    width: 100%;
    font-size: 11px;
    font-weight: 500;
    color: #fff;
    position: absolute;
    z-index: 10;
    bottom: 2px;
    justify-content: center;
}

.copyright_link {
    margin: 0 5px;
}


/* ▼ googlemap
--------------------------------------------------*/
.googlemap {
    width: 100%;
    height: 300px;
}

.googlemap iframe {
    width: 100% !important;
    height: 100% !important;
}

/*--------------------------------------------------

ぱんくずリスト

--------------------------------------------------*/
.breadcrumbs {
    padding: 5px 0;
}

.breadcrumbs_item {
    font-size: 12px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.breadcrumbs li:not(:last-child) {
    padding: 0 22px 0 0;
}

.breadcrumbs li:last-child {
    flex: 1;
}

.breadcrumbs_item:not(:last-child)::before {
    content: ' ';
    display: block;
    margin: auto;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 5px;
    height: 5px;
}

/*--------------------------------------------------

news-under

--------------------------------------------------*/
.news-under_title {
    margin-bottom: 50px;
}

.news_under_container {
    align-items: flex-start;
    flex-direction: column;
}

.tag_list {
    width: 250px;
    margin: 0 auto 20px;
}

.tag_list_item:not(:last-child) {
    border-bottom: 1px solid rgba(68, 68, 68, 0.2);
}

.tag_list_link {
    padding: 12px 0;
    font-size: 12px;
    line-height: 1;
    position: relative;
}

.tag_list_link::after {
    content: "";
    width: 16px;
    height: 4px;
    background: url(../images/common/btn_arrow_tag.png) no-repeat center / contain;
    position: absolute;
    top: 20px;
    right: 0;
}

.news-under_list {
    width: 100%;
}

.news_list_item_under {
    height: auto;
}

.news_list_item_under:not(:last-child) {
    margin-bottom: 15px;
}

.news_list_link_under {
    padding: 10px 30px 10px 15px;
    background-color: #cff8e6;
    border-radius: 20px;
}

.tag {
    display: inline-block;
    padding: 5px;
    margin: 0 3px 3px 0;
    background-color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
}

.news_list_time_under {
    border: none;
    padding: 0;
    line-height: 1;
    height: auto;
}

.news_list_title_under {
    padding: 0;
}

/*  ▼ pagenation
------------------------------------- */
.pagenation {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 50px 0 0;
    line-height: 1.5;
}

.pagenation li {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #429cf0;
    background-color: #fff;
    color: #429cf0;
}

.pagenation li:not(:last-child) {
    margin-right: 10px;
}

.pagenation li:not(.current):hover {
    opacity: 0.7;
}

.pagenation li.current {
    background-color: #429cf0;
    color: #fff;
}

.pagenation a {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 27px;
    /* text-decoration: underline; */
}

.pagenation span {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 27px;
}

/*  ▼ news-detail
------------------------------------- */
.news-detail {
    padding-top: 50px;
}

.news-detail_body {
    min-height: 40vh;
    padding: 30px 15px;
    margin-bottom: 10px;
    border-top: 2px solid #12b568;
    border-bottom: 2px solid #12b568;
}

.news-detail_body a {
    display: inline-block !important;
    text-decoration: underline;
}

.news-detail_time {
    display: block;
    color: #12b568;
    margin: 0 0 1em;
}

.news-detail_title {
    margin: 0 0 20px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.3;
}

.news-detail em {
    font-style: italic;
}

.post-view {
    width: 243px;
    margin: 0 auto;
}

/*--------------------------------------------------

site map

--------------------------------------------------*/
.site_title {
    margin-bottom: 50px;
}

.site_list_item {
    border-bottom: 1px solid;
    font-weight: 500;
}

.site_list_item_link {
    padding: 15px 15px 15px 50px;
    position: relative;
}

.site_list_item_link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    width: 5px;
    height: 5px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: translateY(-50%) rotate(-45deg);
    transition: 0.4s;
}

.site_list_item_link:hover::before {
    left: 20px;
}

/*--------------------------------------------------

privacy

--------------------------------------------------*/
.privacy_title {
    margin-bottom: 50px;
}

.privacy_content {
    width: 100%;
}

.privacy_content:not(:last-child) {
    margin-bottom: 20px;
}

.privacy_subtitle {
    width: 100%;
    padding: 5px 20px;
    color: #fff;
    background-color: #36b669;
}

.privacy_text {
    padding: 20px;
    background-color: #fff;
}

/*--------------------------------------------------

contact

--------------------------------------------------*/
.contact_title {
    margin-bottom: 50px;
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
}

.contact_table {
    text-align: left;
    margin: 0 0 20px;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 20px;
}

.contact_table th,
.contact_table td {
    display: block;
}

.contact_table th {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 10px;
    line-height: 1.5;
    text-align: left;
    transition: all 0.5s;
    font-size: 16px;
    font-weight: 500;
}

.contact_table th [class*="mark"] {
    line-height: 1.5;
    color: #fff;
    float: right;
    padding: 4px 12px;
    font-size: 1.2rem;
}

.contact_table th .required-mark {
    background-color: #36b669;
}

.contact_table th .arbitrary-mar {
    background-color: #15b91b;
}

.contact_table td a {
    display: inline-block;
    text-decoration: underline;
    white-space: nowrap;
}

.contact_table td div:not(:last-child) {
    margin-bottom: 8px;
}

.contact_table td label {
    white-space: nowrap;
}

.contact_table td input:focus,
.contact_table td select:focus,
.contact_table td textarea:focus {
    outline: none;
    border-color: #000;
}

.contact select,
.contact textarea,
.contact input[type='tel'],
.contact input[type='text'],
.contact input[type='num'],
.contact input[type='email'] {
    padding: 4px;
    border: 1px solid #dadada;
    border-radius: 2px;
    box-shadow: 0 1px 1px rgba(100, 100, 100, 0.1) inset;
    transition: all 0.4s;
}

.contact textarea {
    display: block;
    resize: none;
}

.contact input[type='button'],
.contact input[type='submit'] {
    border: none;
    -webkit-appearance: none;
    transition: all 0.5s;
    cursor: pointer;
}

.contact input[type='button'][disabled],
.contact input[type='submit'][disabled] {
    opacity: .7;
    pointer-events: none;
}

.contact input[type=radio],
.contact input[type=checkbox] {
    display: inline-block;
    margin-right: 6px;
}

.contact input[type=radio]+label,
.contact input[type=checkbox]+label {
    position: relative;
    display: inline-block;
    margin-right: 12px;
    line-height: 30px;
    cursor: pointer;
}

.contact input[type=radio],
.contact input[type=checkbox] {
    display: none;
    margin: 0;
}

.contact input[type=radio]+label,
.contact input[type=checkbox]+label {
    padding: 0 0 0 40px;
    color: inherit;
}

.contact input[type=radio]+label::before,
.contact input[type=checkbox]+label::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
}

.contact input[type=radio]+label::before {
    border: 2px solid #ccc;
    border-radius: 30px;
}

.contact input[type=checkbox]+label::before {
    border: 2px solid #ccc;
}

.contact input[type=radio]:checked+label::after,
.contact input[type=checkbox]:checked+label::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
}

.contact input[type=radio]:checked+label::after {
    margin-top: -3px;
    background: #b91515;
    border-radius: 8px;
    left: 6px;
    width: 10px;
    height: 10px;
}

.contact input[type=checkbox]:checked+label::after {
    width: 16px;
    height: 8px;
    margin-top: -8px;
    border-left: 3px solid #b91515;
    border-bottom: 3px solid #b91515;
    transform: rotate(-45deg);
    left: 3px;
}

.contact input[name="items[address]"] {
    margin-top: 8px;
}

.contact .sec-error-text {
    line-height: 80px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    background: #3f955b;
}

.contact .error-text {
    margin: 0 0 4px;
    color: #b91515;
}

.contact_submits {
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_button {
    background-color: #36b669;
    color: #fff;
    width: 48%;
    height: 40px;
    max-width: 230px;
    margin: 0;
    padding: 0;
    border: none;
}

.contact_button+.contact_button {
    margin-left: 2%;
}

/* .contact_button:hover {
    opacity: 0.6;
} */

.contact_recaptcha {
    margin: 0 0 20px;
    overflow: hidden;
}

.contact_recaptcha .g-recaptcha {
    width: 304px;
    margin: auto;
}

.contact_text-box {
    text-align: center;
}

.contact input[type=radio]+lable {
    width: 31%;
    margin: 0;
}

.contact select,
.contact textarea,
.contact input[type='tel'],
.contact input[type='num'],
.contact input[type='text'],
.contact input[type='email'] {
    width: calc(100% - 16px);
    padding: 8px;
    margin: 0 0 -9px;
    font-size: 16px;
    /* transform: scale(0.8); */
    transform-origin: left top;
}

.contact input[type='num'] {
    width: 80px;
    margin: 0;
}

.contact input[type='num']+input[type='num'] {
    transform-origin: right top;
}

.contact textarea {
    min-height: 200px;
}

.contact_recaptcha {
    margin: 0 0 30px;
}

@media screen and (max-width: 539px) {
    .contact_text-box {
        text-align: left;
    }
}

/*--------------------------------------------------

404

--------------------------------------------------*/
.error_title {
    text-align: center;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 20px;
}

.error p {
    text-align: center;
}

.top-link {
    display: inline;
    color: #0e64b1;
    text-decoration: underline !important;
    font-weight: 500;
}

.top-video{
    margin-top: 20px;
}