/* 
** メモ
750px想定
24px = 3.2vw
50px = 6.67vw
100px = 12vw
150px = 18vw
200px = 24vw


*/
.bg_brown {
    background-color: #B58448;
}
.bg_blue {
    background-color: #4578B7;
}
.bg_yellow {
    background-color: #F4CF41;
}
.bg_red {
    background-color: #913E50;
}
.bg_gradient_brown {
    background-image:linear-gradient(to right, #A68148, #E3CFB6);
    /* background: linear-gradient(90deg, #A68148 0%, #A68148 25%, #A68148 51%, #E3CFB6 100%); */
}
.bg_gradient_blue {
    background-image:linear-gradient(to right, #4578B7, #B5C9E2);
}
.bg_gradient_yellow {
    background-image:linear-gradient(to right, #F4CF41, #FBECB3);
}
.bg_gradient_red {
    background-image:linear-gradient(to right, #913E50, #D3B2B9);
}


/* ********** */
/* ヘッダー開始 */

.header_margin {
    position:relative;
    display:block;
    height:16vw;
}
.header_01 {
    position:fixed;
    top:0;
    left:0;
    width :100vw;
    height: 16vw;
    background:#FFF;
    z-index:10;
}
.header_body_01 {
    position:relative;
    height:16vw;
    width:auto;
}
.header_logo_brand_01_white {
    display:none;
}
.header_logo_brand_01 {
    z-index: 12;
}
.header_logo_brand_01 a{
    position:absolute;
    z-index: 12;
    top:2.67vw;
    left:4vw;
}
.header_logo_brand_01 img{
    height:10.67vw;
}

.header_nav_bar {
    position:fixed;
    z-index: 12;
    top:5.33vw;
    right:4vw;
}
.nav_bar__item {
    position:absolute;
    top:0;
    right:0;
    display:block;
    width:6.67vw;
    height:0.67vw;
    background: #000;
    transition: all .5s;
}
.nav_bar__item:nth-child(2) {
    top:1.73vw;
}
.nav_bar__item:nth-child(3) {
    top:3.46vw;
    /* margin-top:1.73vw; */
}
.header_nav_bar.active .nav_bar__item {
    background:#FFF;
}
.header_nav_bar.active .nav_bar__item:nth-child(1) {
    transform:rotate(45deg);
    top:1.73vw;
}
.header_nav_bar.active .nav_bar__item:nth-child(2) {
    opacity: 0;
}
.header_nav_bar.active .nav_bar__item:nth-child(3) {
    top:1.73vw;
    transform:rotate(-45deg);
}

.header_overlay {
    /* display:none; */
    z-index:11;
    position:fixed;
    background: rgba(186,135,72,1);
    width:100vw;
    height:100vh;
    transition:all .5s ease-in-out;
    margin-top:-100vh;
}
.header_overlay.active {margin-top:0;}
.header_menu_01 {
    position: relative;
    display: block;
    margin-top:28.67vw;
    padding-left:6.67vw;
    padding-right:6.67vw;
}
.header_menu_01_title {
    text-align: center;
    font-family: 'han2-regular';
    font-weight:bold;
    color:#FFF;
    font-size: 9vw;
    line-height:1em;
    margin-bottom: 10.67vw;
}
.header_menu_btn_link_01 {
    display: block;
    font-family: 'han2-regular';
    font-weight:bold;
    background: #FFF;
    border-radius: 1.33vw;
    color:#BA8748;
    line-height:12vw;
    text-align: center;
    font-size: 5.33vw;
    text-decoration: none;
}
.header_menu_btn_link_01 i {
    font-size: 6.33vw;
    margin-right: 6vw;
}
.header_menu_list {
    list-style-type: none;
    padding-left: 0;
}
.header_menu_list li {
    margin-bottom: 8vw;
}
.header_menu_list li a {
    display: block;
    font-family: 'han2-regular';
    font-weight:bold;
    height:8vw;
    color:#FFF;
    font-size: 4.8vw;
    text-decoration: none;
    line-height: 8vw;
    border-left: 1.33vw solid #FFF;
    padding-left: 3.73vw;
}
/* ヘッダー終了 */
/* ********** */


/* ********** */
/* フッター開始 */
.footer_01 {
    background: #BA8748;
    padding-top:13.33vw;
}
.footer_01__logo {
    text-align: center;
}
.footer_01__logo img {
    height: 20vw;
}
.footer_01__links {
    padding-top: 13.33vw;
    padding-bottom:13.33vw;
}
.footer_01__links_list {
    padding:0;
    list-style-type:none;
    margin:0;
    color:#FFF;
    text-align: center;
    display:flex;
    flex-direction: column;
}
.footer_01__links_list li {
    margin-bottom: 10vw;
}
.footer_01__links_list li:last-child {
    margin-bottom: 0;
}
.footer_01__links_list a {
    color:#FFF;
    text-decoration: none;
    font-weight:bold;
    font-size:4.8vw;
}
.footer_01__copyright {
    border-top:0.4vw solid #FFF;
    height: 13.33vw;
}
.footer_01__copyright p {
    text-align: center;
    color: #FFF;
    font-weight:bold;
    font-size:3vw;
    padding-top:4.4vw;
}





/* SECTION　大きいやつ */
.mainsection__01 {

}

.section-enter__01 {}

.section-about__01 {
    padding-top:20vw;
}

.section-service__01 {
}

.section-company__01 {
    padding-top: 13.33vw;
}
.section-contact__01 {
    padding-top:19.33vw;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
    padding-bottom:20vw;
}
.section-policy__01 {
    overflow: hidden;
    padding-top: 13.33vw;
    padding-bottom:26.67vw;
}




/* 内容etc */
.enter-logotitle__01 {
    position:absolute;
    top:32.67vw;
    left:6.67vw;
    width: 100%;
}
.enter-logotitle__01 img{
    width: 53.33vw!important;
    margin-bottom: 3.07vw;
}
.enter-logotitle__01 h2{
    font-family: 'han2-regular';
    font-weight:bold;
    color:#FFF;
    font-size: 16vw;
    line-height: 20vw;
    padding-left:0;
}
.about_title_01 {
    margin-bottom: 45px;
    margin-bottom: 6vw;
}
.about_subtitle_01 {
    margin-bottom: 90px;
    margin-bottom: 12vw;
}
.about_description_01 {
    margin-bottom: 150px;
    margin-bottom: 20vw;
}

.about_title_01__h2 {
    font-family: 'Noto Sans JP', sans-serif;
    /* font-size:160px; */
    font-size: 21.33vw;
}
.about_title_01__h2 span {
    line-height: 1em;
}
.about_title_01__h2 .color_1 {
    color:#BB884A;
}
.about_title_01__h2 .color_2 {
    color:#4578B7;
}
.about_title_01__h2_2 {
    display:flex;
    /* justify-content: center; */
}

.about_subtitle_01__text {
    font-family: 'Noto Sans JP', sans-serif;
    /* font-size:50px; */
    text-align: center;
    font-size: 6.2vw;
    line-height:1em;
}
.about_description_01__text {
    font-family: 'Noto Sans JP', sans-serif;
    /* font-size:24px; */
    font-size:3.2vw;
    line-height:8vw;
    padding-left:6vw;
    padding-right:6vw;
}



.service_title_01 {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    /* margin-bottom:100px; */
    margin-bottom: 12vw;
}
.service_title_01 h4 {
    /* font-size:24px; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size:3.2vw;
    line-height:1em;
}
.service_title_01 h2 {
    /* font-size:80px; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size:10.67vw;
    line-height:1em;
}

.service_item_01 {

}
.service_item_01__container {}
.service_item_01__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20vw;
}
.service_item_01__logo img {
    height:5.07vw;
}
.service_item_01__logo.item_01 img {
    filter: brightness(0) invert(1);
}
.service_item_01__logo.item_02 img {
    height:10.5vw;
}
.service_item_01__logo.item_03 p , .service_item_01__logo.item_04 p{
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size:6.67vw;
    color:#FFF;
}

.service_item_01__image {
    max-width: 100vw;
    margin-bottom: 12vw;
}
.service_item_01__image img {
    max-width: 100vw;
    vertical-align: bottom;
}
.service_item_01__title {
    text-align:center;
    padding-bottom:4vw;
}
.service_item_01__title > p {
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size: 9.2vw;
    line-height:1em;
}
.service_item_01__title:after {
    display:inline-block;
    content:"";
    width:24vw;
    height:0.93vw;
}
.service_item_01__title_border_01:after {
    background:#B58448;
}
.service_item_01__title_border_02:after {
    background:#4372AB;
}
.service_item_01__title_border_03:after {
    background:#EAC847;
}
.service_item_01__title_border_04:after {
    background:#8B3C4E;
}
.service_item_01__title .mini {font-size:8vw;}
.service_item_01__desc {
    padding:0 6.67vw;
}
.service_item_01__descbody{
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-family: 'han2-medium';
    font-size: 3.2vw;
    max-width:76vw;
    margin:auto;
    line-height:8vw;
    margin-bottom:13.33vw;
}
.service_item_01__btn {
    text-align:center;
    padding-bottom:13.33vw;
}



.company_title_01 {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    /* margin-bottom:100px; */
    margin-bottom: 12vw;
}
.company_title_01:after {
    display:inline-block;
    content:"";
    background-color: #BA8748;
    width:62.67vw;
    height:1.33vw;
}
.company_title_01 h4 {
    /* font-size:24px; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size:3.2vw;
    line-height:1em;
}
.company_title_01 h2 {
    /* font-size:80px; */
    font-family: 'han2-regular';
    font-weight:bold;
    font-size:10.67vw;
    line-height:1em;
}
.company_body_02 {
    padding:13.33vw 6.67vw;
}
.company_table_01 {
    color: #231815;
    border-spacing: 0 4vw;
}
.company_table_01 tr {
    min-height: 12vw;
    height:12vw;
    vertical-align: top;
}
.company_table_01 td {
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-family: 'han2-regular';
    font-size:3.73vw;
    line-height: 7.46vw;
    padding-top:2.2vw;
}
.company_table_01 td:first-child {
    width: 26.67vw;
    padding-top:0;
    font-weight:bold;
}
.company_table_01 td p {
    display: flex;
    height: 12vw;
    align-items: center;
    vertical-align: middle;
    border-left: 2vw solid #BA8748;
    padding-left: 3.87vw;
}

/*  */

.page_banner_01 {
    position:relative;
    padding:0;
    margin-bottom:0;
}
.page_banner_01 .banner_bg {
    position:absolute;
    height:84vw;
    top:0;
    left:0;
    z-index:-1;
}
.page_banner_01 .banner_title_box_container {
    background: rgba(0,0,0,0.3);
    display: flex;
    height:84vw;
    align-items: center;
    justify-content: center;
}
.page_banner_01 .banner_title_box {
    min-width: 60vw;
    width: fit-content;
    text-align: center;
    color: #FFF;
}
.page_banner_01 .banner_title_box h3 {
    font-family: "han2-light";
    font-weight: bold;
    font-size: 3.2vw;
    line-height: 1em;
    color: #FFF;
}
.page_banner_01 .banner_title_box h2 {
    font-family: "han2-regular";
    font-weight: bold;
    font-size: 10.67vw;
    line-height: 1em;
    color: #FFF;
}
.page_banner_01 .banner_title_box hr {
    border-top: 1.33vw solid #FFF;
    margin-top:2vw;
    margin-bottom: 0;
}

.bread {
    background-color: #BA8748;
    padding-left:6.67vw;
    padding-right:6.67vw;
}
.breadCrumb {
    display: flex;
    padding: 0;
    margin: 0;
    margin-top: 0;
}
.breadCrumb li {
    display: inline-block;
    list-style: none;
    padding: 0;
    line-height: 9.33vw;
}
.breadCrumb li a {
    font-family: 'han2-medium';
    color:#FFF;
    text-decoration: none;
    font-size: 3.33vw;
}
.breadCrumb li:first-child::before {
    display: none;
}
.breadCrumb li:before {
    content: ">";
    font-size: 4.5vw;
    color: #FFF;
}


/* お問い合わせ開始 */
.contact_subtitle_01 {
    font-size:6.67vw;
    font-weight: bold;
    line-height: 8vw;
    text-align: center;
    margin-bottom: 5.33vw;
}
.contact_subtitle_01::after{
    background:#B58448;
    display:block;
    content:"";
    width:13.33vw;
    height:1.33vw;
    margin-top: 5.33vw;
    margin-left: auto;
    margin-right: auto;
}
.contact_description_01 {
    font-family: "han2-medium";
    font-size:3.2vw;
    line-height: 6.4vw;
    margin-bottom: 18.67vw;
}

.contact_form__01 .form_label{
    margin-bottom: 2.67vw;
}
.contact_form__01 .form_label2 {
    margin-bottom: 6.67vw;
}

.contact_form__01 .form-group {
    display: flex;
    flex-direction: column;
}
.contact_form__01 .input_label {
    font-family: "游ゴシック", "YuGothic", sans-serif;
    font-size: 3.47vw;
    font-weight: bold;
}
.contact_form__01 .label_asterisk {
    color:#E60012;
    font-size: 3.73vw;
}
.contact_form__01 .form-control {
    display: block;
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    color: #595757;
    background-color: #F7F8F8;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.93vw;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.contact_form__01 .contact_input {
    width: 100%;
    height: 12vw;
    font-size: 3.73vw;
    padding: 1.33vw;
    padding-left: 4vw;
    background: #F7F8F8;
}
.contact_form__01 .form-control::placeholder {
    color: #A9A7A7;
}
.contact_form__01 textarea.contact_input {
    height:40vw;
}
.contact_form__01 .form-group-end .form_label2 {
    margin-bottom:13.33vw;
}
.contact_form__01 .submit_btn {
    position: relative;
    font-family: "han2-light";
    font-weight: bold;
    width: 53.33vw;
    height: 11.67vw;
    background: #BA8748;
    color:#FFF;
    padding:0;
    margin:auto;
    text-align: center;
    border-radius: calc(11.67vw / 2);
    border: none;
    font-size: 3.67vw;
}
.contact_form__01 .submit_btn i{
    position: absolute;
    right:4vw;
    top:50%;
    -ms-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}


/* お問い合わせ終了 */



.policy_description_01 {
    font-family: "游ゴシック", "YuGothic", sans-serif;
    font-size: 3.47vw;
    line-height: 6.93vw;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
}
.policy_border_01 {
    border-top: 0.27vw solid #9FA0A0;
    margin-top:8.53vw;
    margin-bottom: 6.67vw;
}
.policy_sub_title_01 {
    font-family: "游ゴシック", "YuGothic", sans-serif;
    font-weight: bold;
    font-size: 4.8vw;
    line-height: 1em;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
    margin-bottom: 5.33vw;
    padding-top:2.53vw;
}

.policy_company_date {
    font-family: "游ゴシック", "YuGothic", sans-serif;
    font-size: 3.47vw;
    line-height: 6.93vw;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
    text-align: right;
}


