
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
/* font-size: 100%; */
/* font: inherit; */
vertical-align: baseline;
/* font-weight:400; */
}
/* HTML5 display-role reset for older browsers */

* {
    box-sizing: border-box;
    line-height:1.5em;
}
html{
    font-size: 16px;
    font-size: 100%;
    /* font-size: 1vw; */
    /* font-size:14.93333333333333px; */
}
@media (max-width: 764px) {
    html{
        /* font-size: 14px; */
        font-size: 1vw;
        /* font-size: 3.7498px; */
    }
}
p{
    letter-spacing: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body{
    line-height:1.25em;
    /* font-size:16px; */
    font-size: 62.5%;
    font-family: 'Noto sans JP', sans-serif;
    font-weight:400;
    font-feature-settings: normal;
    color:#000000;
    font-feature-settings: "palt";
}
@media (max-width: 764px) {
    body{
        font-size:14px;
        min-width:100%;
    }
}
ol,ul {
    list-style: none;
    margin:0;
    padding:0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

input:focus,
textarea:focus{
    outline: none;
}

img{
    max-width:100%;
    -webkit-backface-visibility: hidden;
}

.pc{
    display:block;
}
@media (max-width: 764px) {
    .pc{
        display:none;
    }
}
.sp{
    display:none;
}
@media (max-width: 764px) {
    .sp{
        display:block;
    }
}
a{
    text-decoration: none;
}
a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (max-width: 764px) {
    a{
        -webkit-tap-highlight-color: rgba(0,0,0,0);
    }
}
a:hover,
input[type="submit"]:hover {
    opacity: 0.6;
}
a:hover img{
}
/* a:focus, */
button:focus{
    border:none;
    outline: none;
}

area{
    border:none;
    outline:none;
}

.site-content{
    /* padding-top:100px; */
    /* min-height:calc(100vh - 204px - 370px); */
    /* min-height:100vh; */
    /* background-color:#FFF; */
}

@media (max-width: 764px) {
    .site-content{
        min-height:0;
    }
}


html.is-fixed, html.is-fixed body {
    /* height: 100%; */
    overflow: hidden;
}
h3,h4{
    font-weight:normal;
}
pre{
    /* Mozilla */
    white-space: -moz-pre-wrap;
    /* Opera 4-6 */
    white-space: -pre-wrap;
    /* Opera 7 */
    white-space: -o-pre-wrap;
    /* CSS3 */
    white-space: pre-wrap;
    /* IE 5.5+ */
    word-wrap: break-word;
}

/************************************************************/

.inner{
    max-width: 1160px;
    width:100%;
    margin:auto;
    padding:0 40px;
}
@media (max-width: 764px) {
    .inner{
        padding:0 20px;
    }
}

main{
    position:relative;
    overflow: hidden;
}

@media (max-width: 764px) {
    main{
        /* padding-top: 65px; */
    }
}
.site__main__contents{
    /* max-width:375px; */
    max-width:100vw;
    width:100%;
    margin:auto;
}
@media (max-width: 764px) {
    .site__main__contents{
        max-width:100%;
    }
}


/************************************************************/


header{
    position:fixed;
    width: 100%;
    top:0;
    left: 0;
    z-index: 9;
    background-color: #FFF;
}
.p_header_content{
    display:flex;
    align-items: center;
    justify-content: space-between;
    padding:32px 32px;
}
@media (max-width: 764px) {
    .p_header_content{
        padding:0 0;
        padding-left: 20px;
        height: 65px;
    }
}

.p_header_content_name{

}
.p_header_content_name a{
    font-weight: 700;
    font-size: 22px;
    line-height: 1.25em;
    color: #000000;
    white-space: nowrap;
    display: block;
}
@media (max-width: 764px) {
    .p_header_content_name a{
        font-size: 14px;
    }
}
.p_header_content_naviarea{
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
@media (max-width: 764px) {
    .p_header_content_naviarea{
        display: none;
    }
}
.p_header_content_navi{

}
@media (max-width: 1200px) {
    .p_header_content_navi{
        display: none;
    }
}
.p_header_content_navi ul{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 52px;
    width: 382px;
    height: 59px;
    background: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 40px;
    padding:0 32px;
}
.p_header_content_navi ul li{
    width: auto;
    text-align: center;
}
.p_header_content_navi ul li a{
    font-weight: 700;
    font-size: 16px;
    line-height: 1em;
    text-align: center;
    color: #000000;
}
.p_header_content_navi ul li a span{
    font-family: "Albert Sans", sans-serif;
    font-weight: 700;
    font-size: 10px;
    line-height: 1em;
    text-align: center;
    color: #5EA2F0;
}
.p_header_content_btnarea{
    display: flex;
    gap: 8px;
    align-items: center;
}
.p_header_content_btn_tel{

}
.p_header_content_btn_tel a{
    width: 213px;
    height: 57px;
    background: #5EA2F0;
    border: 0.5px solid #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 29.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.p_header_content_btn_tel a:hover{
    opacity: 1;
}
.p_header_content_btn_tel a > span{
    position: relative;
    padding-left: 36px;
}
.p_header_content_btn_tel a span:before{
    content:"";
    width: 33px;
    height: 33px;
    background-image:url(../img/ico_tel.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position:center;
    position:absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.p_header_content_btn_tel a > span span.p_header_content_btn_tel01{
    font-family: 'Albert Sans';
    font-weight: 700;
    font-size: 19px;
    line-height: 1.25em;
    text-align: center;
    color: #FFFFFF;
}
.p_header_content_btn_tel a > span span.p_header_content_btn_tel02{
    font-weight: 700;
    font-size: 10px;
    line-height: 1em;
    text-align: center;
    color: #FFFFFF;
    display: block;
}
.p_header_content_btn_contact{

}
.p_header_content_btn_contact a{
    width: 175px;
    height: 57px;
    background: #5EA2F0;
    border: 0.5px solid #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 29.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25em;
    text-align: center;
    color: #FFFFFF;
}
.p_header_content_btn_contact a span{
    padding-left: 36px;
    position:relative;
}
.p_header_content_btn_contact a span:before{
    content:"";
    width: 33px;
    height: 33px;
    background-image:url(../img/ico_mail.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position:center;
    position:absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}



.p_header_hamburgerarea{
    display:none;
}
@media (max-width: 764px) {
    .p_header_hamburgerarea{
        display:block;
        z-index: 999;
    }
}
  
.p_header_hamburger {
    display: flex;
    cursor: pointer;
    text-align: center;
    z-index: 999;
    align-items: center;
    justify-content: center;
    right: 0px;
    top: 0px;
    width: 65px;
    height: 65px;
    margin: auto;
    position: relative;
    background-color:#5EA2F0;
}
.p_header_hamburger.active {
    background-color: #D9D9D9;
}
.p_header_hamburger_block {
    position: relative;
    width: 33.25px;
    display: block;
}
.p_header_hamburger_block span {
    display: block;
    position: absolute;
    background: #FFF;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 33.25px;
    height:3px;
}
  
header.active .p_header_hamburger_block span,
.p_news header .p_header_hamburger_block span,
.p_contact header .p_header_hamburger_block span{
    background-color: #6A6A6A;
}
.p_header_hamburger.active .p_header_hamburger_block span {
        background: #6A6A6A;
}
.p_header_hamburger_block span:nth-child(1) {
        top: -10px;
}
.p_header_hamburger.active .p_header_hamburger_block span:nth-child(1) {
    top: 0;
    left: 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.p_header_hamburger_block span:nth-child(2) {
    top: 0;
}
  
.p_header_hamburger_block span:nth-child(3) {
    top: 10px;
}
.p_header_hamburger.active .p_header_hamburger_block span:nth-child(3) {
    top: 0;
    left: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.p_header_hamburger.active .p_header_hamburger_block span:nth-child(2) {
    opacity: 0;
}



/************************************************************/

.nav-wrapper {
    /* display: none; */
    -webkit-transition: 0.5s all ease-in-out;
    -moz-transition: 0.5s all ease-in-out;
    transition: 0.5s all ease-in-out;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 998;
    background-color: #FFF;
    transform: translateY(-100%);
    /* background: transparent; */
    background-color: #00000066;
    /* width: auto; */
    /* overflow: auto; */
} 
.nav-wrapper.active {
    display: block;
    transform: translateY(0);
}
.header-nav {
    display: block !important;
    width: 100%;
    /* max-height: 983px; */
    /* height: 100%; */
    z-index: 9;
    overflow: auto;
    margin: auto;
    margin-right: 0;
    padding: 0px 0 44px;
    z-index: 999999;
    background-color:#3D689A;
}
.header-inner {
    width: 100%;
    position: relative;
    margin: auto;
}
.header-nav1-contents{

}

.header-nav1-contents-header{
    padding: 24px 20px 20px;
    border-bottom: 1px solid #FFF;
    height:65px;

}
.header-nav1-contents-header p{
    
}
.header-nav1-contents-header p a{
    font-weight: 700;
    font-size: 14px;
    line-height: 1.25em;
    color: #FFFFFF;
}

.header-nav1-contents > ul{
    display:flex;
    flex-direction:column;
    margin-bottom:40px;
}
.header-nav1-contents > ul > li{
    border-bottom: 1px solid #FFFFFF66;
}
.header-nav1-contents > ul > li > a{
    font-weight: 700;
    font-size: 18px;
    line-height: 1.5em;
    color: #3F3F3F;
    position: relative;
    display: block;
    color: #FFF;
    padding: 24px 40px 16px;
}
.header-nav1-contents > ul > li > a span{
    font-family: 'Albert Sans';
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5em;
    color: #FFF;
    display: block;
}
.header-nav1-btn{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
.header-nav1-btn a{
    box-sizing: border-box;
    width: 250px;
    height: 57px;
    background: #5EA2F0;
    border: 0.5px solid #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 29.5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-nav1-btn a.header-nav1-btn-tel > span{
    padding-left: 42px;
    position:relative;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 10px;
    line-height: 1.2em;
    text-align: center;
    color: #FFFFFF;
}
.header-nav1-btn a.header-nav1-btn-tel > span span{
    display: block;
    font-family: 'Albert Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 19px;
    line-height: 1.25em;
    text-align: center;
    color: #FFFFFF;
}
.header-nav1-btn a.header-nav1-btn-tel > span:before{
    content:"";
    width: 33px;
    height: 33px;
    background-image:url(../img/ico_tel.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position:center;
    position:absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.header-nav1-btn a.header-nav1-btn-mail > span{
    padding-left: 42px;
    position:relative;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25em;
    text-align: center;
    color: #FFFFFF;
    width: 180px;
}
.header-nav1-btn a.header-nav1-btn-mail > span:before{
    content:"";
    width: 33px;
    height: 33px;
    background-image:url(../img/ico_mail.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position:center;
    position:absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

footer{
    background-color: #FFF;
    padding: 20px 0;
}
@media (max-width: 764px) {
    footer{
        padding: 16px 0;
    }
}
.p_low footer{
    background-color: #5EA2F0;
}
.p_foote-content{

}
.p_foote-content p{
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    text-align: center;
    color: #000000;
}
@media (max-width: 764px) {
    .p_foote-content p{
        font-size: 14px;
    }
}
.p_low .p_foote-content p{
    color: #FFFFFF;
}


/************************************************************/



.message_area{
    color:red;
}
.message{
    margin-top:10px;
    font-size:14px;
    font-weight:bold;
}
@media (max-width: 767px) {
    .message{
        margin-top:10px;
        font-size:14px;
    }
}


.anchor{
    padding-top: 160px;
    margin-top: -160px;
}
@media (max-width: 767px) {
    .anchor{
        padding-top: 80px;
        margin-top: -80px;
    }
}



.load{
    display:none;
}
.load.load-active{
    background-color:rgba(0,0,0,0.4);
    position:fixed;
    width:100%;
    height:100%;
    top:0;
    left:0;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index: 9999;
}
