.pc_mode{
    display: block;
}
.sp_mode{
    display: none;
}
body{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    line-height: 1.75;
    position: relative;
    color: #231815;
}
h1,h2,h3,h4,h5{
    font-weight: normal;
}
a{
    color: #231815;
}
.mb80{
    margin-bottom: 80px;
}
.mb40{
    margin-bottom: 40px;
}
.mb50{
    margin-bottom: 50px;
}
.mb70{
    margin-bottom: 70px;
}
.mb100{
    margin-bottom: 100px;
}
.mb150{
    margin-bottom: 150px;
}
.mt25{
    margin-top: 25px;
}
.mt60{
    margin-top: 60px;
}
.mt70{
    margin-top: 70px;
}
.mt80{
    margin-top: 80px;
}
.mt90{
    margin-top: 90px;
}
.m50{
    margin: 50px auto;
}
.pb10{
    padding-bottom: 10px;
}
.pl64{
    padding-left: 64px;
}
.pl_none{
    padding-left: 0;
}
.w_100p{
    width: 100%;
}
.max_inner{
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
}
.text_center{
    text-align: center;
}
.text_right{
    text-align: right;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
}
.d_flex{
    display: flex;
    flex-wrap: wrap;
}
.no_wrap{
    flex-wrap: nowrap;
}
.row_reverce{
    flex-direction: row-reverse;
}
.space_around{
    justify-content: space-around;
}
.space_between{
    justify-content: space-between;
}
.flex_end{
    justify-content: flex-end;
}
.flex_1{
    flex: 1;
}
.item_center{
    align-items: center;
}
.item_baseline{
    align-items: baseline;
}
.visible{
    overflow: visible;
}
.line_h_1{
    line-height: 1;
}
.bg_color_1{
    background-color: #003b52;
    color: #ffffff;
}
.bg_color_2{
    background-color: #004f47;
    color: #ffffff;
}
header.pc_mode{
    box-shadow: 0px 6px 8px -3px rgba(80,80,80,0.6);
    -webkit-box-shadow: 0px 6px 8px -3px rgba(80,80,80,0.6);
    -moz-box-shadow: 0px 6px 8px -3px rgba(80,80,80,0.6);
    background-color: #ffffff;
    z-index: 1;
    max-height: 77px;
    display: flex;
}
header .header_menu a{
    font-size: 0.8333vw;
    padding: 1.42vw 2.83333vw;
    font-weight: bold;
    box-sizing: border-box;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    max-height: 77px;
    position: relative;
}
header .header_menu a::after {
    position: absolute;
    content: '';
    bottom: 1vw;
    left: 0;
    right: 0;
    display: block;
    margin: 0 auto;
    width: 0;
    height: 2px;
    background: #231815;
    transition: all 0.3s ease 0s;
}
header .header_menu a:hover::after {
    width: 60%;
}
header .header_menu a.bg_color_1:hover::after,
header .header_menu a.bg_color_2:hover::after{
    width: 0;
}
header .header_menu a.pl_none{
    padding-left: 0;
}
header .header_menu a.bg_color_1{
    border: 2px solid #003b52;
}
header .header_menu a.bg_color_2{
    border: 2px solid #004f47;
}
header .header_menu a.bg_color_1:hover{
    background-color: #ffffff;
    color: #003b52;
}
header .header_menu a.bg_color_2:hover{
    background-color: #ffffff;
    color: #004f47;
}
header .header_logo{
    width: 11.11111vw;
    /* padding-top: 1vw;
    padding-bottom: 1vw; */
    padding-left: 6.66666vw;
}
/*
スマホ
*________________________*/
@media (max-width: 960px) {
    .pc_mode{
        display: none;
    }
    .sp_mode{
        display: block;
    }
    header.pc_mode{
        display: none;
    }
    .sp_header{
        height: 12.5vw;
    }
    .sp_header .sp_header_inner{
        display: flex;
        width: 100%;
        margin: 0 auto;
        justify-content: space-between;
        align-items: center;
        height: 100%;
    }
    .sp_header .sp_header_inner .sp_header_logo{
        width: 31.4vw;
        margin-left: 3.59vw;
    }
    .sp_header .sp_header_inner .sp_header_open_btn{
        width: 6.25vw;
        margin-right: 4.68vw;
        transition: 0.8s;
        -webkit-transition: 0.8s;
        -moz-transition: 0.8s;
        -o-transition: 0.8s;
        -ms-transition: 0.8s;
        z-index: 10;
    }
    .sp_header .sp_header_inner .sp_header_open_btn div{
        position: relative;
        width: 100%;
        height: 3.75vw;
    }
    .sp_header .sp_header_inner .sp_header_open_btn div span{
        width: 100%;
        height: 1px;
        background-color: #231815;
        position: absolute;
        left: 0;
        transition: 0.8s;
        -webkit-transition: 0.8s;
        -moz-transition: 0.8s;
        -o-transition: 0.8s;
        -ms-transition: 0.8s;
        opacity: 1;
    }
    .sp_header .sp_header_inner .sp_header_open_btn div span:nth-of-type(1){
        top: 0;
    }
    .sp_header .sp_header_inner .sp_header_open_btn div span:nth-of-type(2){
        top: 50%;
    }
    .sp_header .sp_header_inner .sp_header_open_btn div span:nth-of-type(3){
        top: 100%;
    }
    .sp_header .sp_header_inner .sp_header_open_btn.open{
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
    .sp_header .sp_header_inner .sp_header_open_btn.open div span:nth-of-type(1){
        top: 0;
        -webkit-transform: translateY(2vw) rotate(-45deg); 
        transform: translateY(2vw) rotate(-45deg);
    }
    .sp_header .sp_header_inner .sp_header_open_btn.open div span:nth-of-type(2){
        top: 0;
        -webkit-transform: translateY(2vw) rotate(45deg);
        transform: translateY(2vw) rotate(45deg);
    }
    .sp_header .sp_header_inner .sp_header_open_btn.open div span:nth-of-type(3){
        opacity: 0;
    }
    .sp_nav{
        position: fixed;
        transition: 0.8s;
        -webkit-transition: 0.8s;
        -moz-transition: 0.8s;
        -o-transition: 0.8s;
        -ms-transition: 0.8s;
        left: 0;
        top: -200vw;
        z-index: 8;
        background-color: #ffffff;
        width: 100%;
        height: 100%;
        overflow: auto;
    }
    .sp_nav.open{
        top: 0;
    }
    .sp_nav_inner{
        width: 90vw;
        margin: 0 auto;
        text-align: center;
    }
    .sp_nav_inner .sp_header_nav_logo{
        width: 57.8vw;
        margin: 14.6875vw auto 0;
    }
    .sp_nav_inner .sp_header_nav_link a{
        display: block;
        margin: 0 auto;
        font-weight: bold;
        font-size: 5.46875vw;
        margin-top: 11.5vw;
    }
    .sp_nav_inner .sp_header_nav_link a:last-of-type{
        margin-bottom: 11.5vw;
    }
    .sp_nav_inner .sp_header_nav_link_btn a{
        color: #ffffff;
        font-size: 5.46875vw;
        font-weight: bold;
    }
    .sp_nav_inner .sp_header_nav_link_btn{
        padding: 3vw 0;
        margin-bottom: 3.125vw;
    }
    .sp_nav_inner .sp_header_nav_link_btn:last-of-type{
        margin-bottom: 39vw;
    }
}





.foot_menu_wrap{
    width: 100%;
    margin: 4.444vw auto 1.66vw;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 0;
}
.foot_menu_wrap .foot_menu{
    width: 50%;
    max-width: 864px;
    height: 18vw;
    max-height: 350px;
    overflow: hidden;
    position: relative;
    margin: 0 1%;
}
.foot_menu_wrap .foot_menu a{
    display: block;
    width: 100%;
    height: 100%;
}
.foot_menu_wrap .foot_menu a img{
    width: 100%;
    object-fit: cover;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
}
.foot_menu_wrap .foot_menu a .foot_menu_text{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
}
.foot_menu_wrap .foot_menu a .foot_menu_text h2{
    font-size: 2.5vw;
    line-height: 1.1;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
}
.foot_menu_wrap .foot_menu a .foot_menu_text p{
    font-size: 1.05vw;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
}
.foot_menu_wrap .foot_menu a:hover img,
.foot_menu_wrap .foot_menu a:hover h2,
.foot_menu_wrap .foot_menu a:hover p{
    transform: scale(1.05,1.05);
}
@media (min-width: 1800px) {
    header .header_menu a{
        font-size: 15px;
    }
}
footer{
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: linear-gradient(-180deg,#756862, #1b1110); 
}
footer .footer_inner{
    width: 92.5%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 3.5vw;
    padding-bottom: 6.444vw;
}
footer .footer_inner .footer_logo{
    line-height: 1;
    width: 10.61vw;
}
footer .footer_inner .footer_bot_menu{
    width: 48%;
    display: flex;
    justify-content: space-around;
}
footer .footer_inner .footer_bot_menu a{
    color: #ffffff;
    font-size: 12px;
    transition: 0.5s;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    max-height: 77px;
    position: relative;
    box-sizing: border-box;
    padding: 0 0.5vw;
    padding-bottom: 5px;
}
footer .footer_inner .footer_bot_menu a::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    margin: 0 auto;
    width: 0;
    height: 2px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}
footer .footer_inner .footer_bot_menu a:hover::after {
    width: 100%;
}

@media (max-width: 960px) {
    .foot_menu_wrap {
        width: 90vw;
        margin: 11.71875vw auto 3.9vw;
        padding: 0;
        flex-wrap: wrap;
    }
    .foot_menu_wrap .foot_menu {
        width: 100%;
        max-width: none;
        height: 54.6875vw;
        max-height: none;
    }
    .foot_menu_wrap .foot_menu a img {
        height: 100%;
    }
    .foot_menu_wrap .foot_menu a .foot_menu_text h2 {
        font-size: 7.14vw;
    }
    .foot_menu_wrap .foot_menu a .foot_menu_text p {
        font-size: 3.0375vw;
    }
    .foot_menu_wrap .foot_menu:last-of-type{
        margin-top: 3.125vw;
    }
    footer .footer_inner {
        width: 85vw;
        flex-wrap: wrap;
        padding-top: 7.8vw;
        padding-bottom: 6.5625vw;
    }
    footer .footer_inner .footer_logo {
        line-height: 1;
        width: 45.625vw;
    }
    footer .footer_inner .footer_bot_menu {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 9.375vw;
    }
    footer .footer_inner .footer_bot_menu a {
        display: block;
        width: 50%;
        box-sizing: border-box;
        color: #ffffff;
        font-size: 3.4375vw;
        max-height: none;
        padding: 0px 0vw;
        font-weight: bold;
        margin-bottom: 3.9vw;
    }
    footer .footer_inner .footer_bot_menu a::after {
        position: static;
        height: 0;
    }
    .sp_to_top_btn{
        position: fixed;
        width: 15.625vw;
        height: 15.625vw;
        max-width: 100px;
        max-height: 100px;
        right: 4.6875vw;
        bottom: 6.5625vw;
    }
    .sp_to_top_btn a{
        width: 100%;
        height: 100%;
    }
}


.main_container{
    
    height: 45vw;
    position: relative;
    background: linear-gradient( rgba(209, 202, 198, .8)0%, rgba(255, 255, 255, .8)50%);
}
#particles-js {
    position: absolute;
    width: 100%;
    height: 45vw;
    background-color: transparent;
    background-image: url("");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    top: 0;
}
#particles-js_02 {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-image: url(style.css);
    background-size: cover;
    top: 0px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

/* .pc_slider img {
    display: none;
    }
.bx-viewport .pc_slider img {
    display: block !important;
} */
#loader {
	width: 100%;
	height: 100%;
	margin: 0;
	background: #fff;/*Loaderの背景色としたいものを指定*/
	opacity: 1.0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000; /*一番前面に出るように（今回はbxSlidrの矢印が9999だったのでそれを超えるようにしました）*/
}
#loader img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -40px;/*Loaderの画像を縦方向中央に表示させるため、画像の高さの半分の40pxだけ上に移動*/
	margin-left: -40px;/*同様に画像の幅の半分の40pxだけ左に移動*/
}
.bx-wrapper {
    max-width: 77vw !important;
    margin: 0 auto;
    width: 95%;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: transparent;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    background: #b5b5b6;
    text-indent: -9999px;
    display: block;
    width: 50px;
    height: 2px;
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #003b52;
}
.temp_menu_01{
    width: 50%;
    max-width: 900px;
    position: relative;
}
.temp_menu_01::after{
    content: "";
    top: 0;
    left: 0;
    position: absolute;
    border-top: 3.3333333vw solid #003B52;
    border-right: 3.3333333vw solid transparent;
    border-bottom: 3.3333333vw solid transparent;
    border-left: 3.3333333vw solid #003B52;
}
.temp_menu_01 .temp_menu_01_inner{
    width: 80%;
    max-width: 820px;
    margin: 0 auto;
    position: relative;
    margin-top: 1.6666vw;
}
.temp_menu_01 .temp_menu_01_title_wrap{
    width: 100%;
    height: 17vw;
    max-height: 306px;
    position: relative;
}
.temp_menu_01 .temp_menu_01_title_wrap > div{
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}
.temp_menu_01 .temp_menu_01_title_wrap h2{
    font-size: 3.33333vw;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.06em;
}
.temp_menu_01 .temp_menu_01_title_wrap h3{
    font-size: 1.44444vw;
    font-weight: bold;
    letter-spacing: 0.14em;
}
.temp_menu_01 .temp_menu_01_inner .temp_menu_01_img{
    position: absolute;
    right: 0;
    top: 0;
    width: 21.38888vw;
    height: 17vw;
    max-width: 385px;
    max-height: 306px;
    overflow: hidden;
}
.temp_menu_01 .temp_menu_01_inner .temp_menu_01_img img{
    width: 100%;
    object-fit: cover;
}
.temp_menu_01 .temp_menu_01_text{
    width: 80%;
    max-width: 820px;
    margin: 0.4vw auto 0;
    min-height: 7vw;
}
.temp_menu_01 .temp_menu_01_text p{
    width: 27.7777vw;
    max-width: 500px;
    margin-top: 0.4vw;
    font-size: 0.8vw;
    line-height: 1.85;
    letter-spacing: 0.1em;
}
@media (max-width: 960px) {
    .bx-wrapper {
        max-width: 100vw !important;
    }
    .temp_menu_01 {
        width: 100%;
        max-width: none;
    }
    .temp_menu_01 .temp_menu_01_inner {
        width: 85.625vw;
        max-width: none;
        margin-top: 1.6666vw;
    }
    .temp_menu_01 .temp_menu_01_inner .temp_menu_01_img {
        position: static;
        width: 85.625vw;
        height: 68.125vw;
        max-width: none;
        max-height: none;
    }
    .temp_menu_01 .temp_menu_01_title_wrap > div {
        position: static;
    }
    .temp_menu_01 .temp_menu_01_title_wrap {
        height: auto;
        max-height: none;
        text-align: center;
    }
    .temp_menu_01 .temp_menu_01_text p {
        width: 100%;
        max-width: none;
        margin-top: 2.8125vw;
        margin-bottom: 5.46875vw;
        font-size: 3.125vw;
    }
    .temp_menu_01 .temp_menu_01_title_wrap h2 {
        font-size: 8.571875vw;
        font-weight: bold;
        line-height: 1;
        margin-top: 6.25vw;
    }
    .temp_menu_01 .temp_menu_01_title_wrap h3 {
        font-size: 3.714vw;
        font-weight: bold;
        margin-bottom: 3.125vw;
    }
}




.btn_temp_01{
    display: flex;
    align-items: center;
    width: 80%;
    max-width: 820px;
    margin: 0 auto;
}
.btn_temp_01 a{
    display: block;
    width: 11.1111vw;
    max-width: 200px;
    background-color: #281F1C;
    color: #ffffff;
    box-sizing: border-box;
    padding: 0.81vw 1.611111vw;
    font-size: 0.7vw;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    border: 2px solid #281F1C;
    background-image: url(../img/common/btn_arrow.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 8vw;
    font-weight: bold;
    background-size:0.8vw;
}
.btn_temp_01 a img{
    padding-left: 1.8vw;
    vertical-align: middle;
}
.btn_temp_01 a:hover{
    background-color: #ffffff;
    color: #281F1C;
    background-image: url(../img/common/btn_arrow_on.png);
    background-position-x: 8.5vw;
}
.btn_temp_02 a{
    display: block;
    background-color: #ffffff;
    text-align: center;
    border-radius: 1vw;
    font-size: 1.1vw;
    color: #00AABE;
    padding: 1vw 2.3vw;
    font-weight: bold;
    position: relative;
    border: 2px solid #ffffff;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
}
.btn_temp_02 a:hover{
    transform: scale(1.05,1.05);
}

.btn_temp_03 a{
    width: 25.555vw;
    max-width: 460px;
    display: block;
    margin: 0 auto;
    background-color: #00AABE;
    border: 2px solid #00AABE;
    color: #ffffff;
    text-align: center;
    border-radius: 0.5vw;
    font-size: 1.555vw;
    transition: 0.8s;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    padding: 1.05vw 0px;
    box-sizing: border-box;
}
.btn_temp_03 a:hover{
    background-color: #ffffff;
    color: #00AABE;
}
@media (max-width: 960px) {
    .btn_temp_01 a {
        width: 42.96875vw;
        max-width: none;
        padding: 2.34375vw 4.6875vw;
        font-size: 3.4375vw;
        border: 2px solid #281F1C;
        background-image: url(../img/common/btn_arrow.png);
        background-repeat: no-repeat;
        background-position-y: center;
        background-position-x: 35vw;
        background-size: 1.875vw;
    }
    .btn_temp_01 a:hover {
        background-position-x: 36vw;
    }
    .btn_temp_03 a {
        width: 71.875vw;
        max-width: none;
        font-size: 4.375vw;
        padding: 0.6vw 0px;
        border-radius: 1vw;
    }
}

/****
ふわっとするやつ用CSS
__________________________*/
.fuwatAnime {
    -webkit-animation-fill-mode:both;
    -ms-animation-fill-mode:both;
    animation-fill-mode:both;
    -webkit-animation-duration:1.5s;
    -ms-animation-duration:1.5s;
    animation-duration:1.5s;
    -webkit-animation-name: fuwatAnime;
    -ms-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
}
@-webkit-keyframes fuwatAnime {
    0% { opacity: 0; -webkit-transform: translateY(10px); }
    100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fuwatAnime {
    0% { opacity: 0; -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); }
    100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}